java - 插入时出现 Hibernate 异常

标签 java spring hibernate kotlin spring-data-jpa

我有两个表应用程序,先生。我使用 JPA、Hibernate 进行 ORM 映射。我在插入记录时遇到问题。请帮助我。

* Mr_id in application table is a foreign key

* code in mr table is unique key

* mr_id in MR table is primary key

应用表:

(id,mr_id)

(1,空)

(2,空)

先生表:

(先生 ID、代码、姓名)

(1,代码1,mr1)

(2,代码2,mr2)

I have a jpa repository :   ApplicationRepository

application = Application(1)

application.mr = MR(1,code1,mr1)

when I run  : applicationRepository.save(applications[0])
it causes a problem

Reason: Mr record with (1,code1,mr1) alredy present in mr table. 

How to solve this problem with JPA, Hibernate annotation

---------------------------------
    Application {
       @Id
       var id: Int;

       @ManyToOne(cascade = [(CascadeType.PERSIST)])
       @JoinColumn(name = "mr_id")
       var mr: MR? = null
    }

最佳答案

我认为发生这种情况是因为 JPA 试图在持久化应用程序后持久化 MR(因为它们分离了),但 mr_id = 1 的 MR 已经存在。尝试找到 mr_id = 1(不是创建)的 mr 并将此 mr 设置为 application.mr

关于java - 插入时出现 Hibernate 异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51075112/

相关文章:

java - 使用 JdbcBatchItemWriter 保存在 mysql 数据库中时值发生更改

java - Spring MVC 与 Hibernate 列表

java - Jpa与具有额外列的同一实体的多对多关系

java - HikariPool-1 - 无法执行连接的 isValid(),配置连接测试查询 (oracle.jdbc.driver.T4CConnection.isValid(I)Z)

java - 尝试使用 Eclipse 连接到 MySql 数据库时 Ping 失败

java - JBoss/Tomcat 的免费 Wiki 和 Bug 跟踪器

java - socketChannel.register() 和 key.interestOps() 的区别?

spring - 什么时候选择Spring框架?

java - 状态模式 : States as Hibernate singleton entities

java - 删除工作表后打开 Excel 时出现 POI 错误