插入时休眠异常

时间:2018-06-28 05:12:28

标签: java spring hibernate kotlin spring-data-jpa

我有两个表Application,MR。我正在使用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,null)

(2,null)

MR TABLE:

(mr_id,代码,名称)

(1,code1,mr1)

(2,code2,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
    }

1 个答案:

答案 0 :(得分:1)

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