spring-boot - Spring Boot JPA保存不起作用
问题描述
我正在将在 Websphere 中运行的 Spring Boot 1.2.4 迁移到 Spring Boot 1.5.9。此应用程序使用带有 Hibernate 的 Spring Data JPA。迁移后,其中一种保存方法无法按预期工作。当我尝试在表中插入一个新行时,出现 SQLCODE=-204、SQLSTATE=42704 的异常,但相同的代码在 Spring Boot 1.2.4 中运行良好。
我的 Pom.xml 如下所示。
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.5.9.RELEASE</version>
</parent>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
Spring Boot 1.2.4 配置如下所示。
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
<version>1.2.4</version>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-entitymanager</artifactId>
<version>4.3.10.Final</version>
</dependency>
@Repository
public interface MyDataRepository extends CurdRepository<MyEntity,Long>{}
@Service
public class MyDataService{
@Autowired
private MyDataRepository myDataRepository;
public void insertMyDate(MyData myData){
myDataRepository.save(myData)
}
}
@Entity
@Table(name="MYDATA" ,schema="MYSCHEMA")
public class MyData implements java.io.Serializable {
private int memberId;
private String firstName;
private String lastName;
private Date dateofBirth;
@GeneratedValue(strategy=GenerationType.AUTO)
@Id
@Column(name="MEMBER_ID",uniqueue=true,nullable=false)
public int getMemberId(){
return this.memberId;
}
public void setMemberId(int memberId){
return this.memberId = memberId;
}
//Geter and Setters
}
在 1.5.9 中执行保存方法时使用相同的代码得到以下异常。
无法提取结果集;SQL [不适用];嵌套异常是 org.hibernate.exception.SQLGrammarException: could not extract ResultSet
解决方案
您不需要这个 hibernate-entitymanager 依赖项,因为您正在使用存储库来保存数据
推荐阅读
- c - “int i = 0”中的操作数
- c# - 使用混合键值对和数组解析 JSON
- putty - 腻子离线。需要自动“按下”转义键进行连接
- c - 将非线性模拟值减少到数字输出
- python - 按名称删除 celery 任务(使用通配符?)
- javascript - Flask-SocketIO 部署到 Heroku 后未连接到 WebSocket
- python - 判断一条sql语句是否以单词SELECT开头
- ruby-on-rails - Rails 类方法未定义
- haskell - 常用词的字数统计 - haskell
- java - 没有输出的 Spring Cloud Stream 反应式侦听器