我有两个表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_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
}
答案 0 :(得分:1)
我认为发生这种情况是因为JPA尝试在持久化应用程序之后持久化MR(因为它们已分离),但是mr_id = 1的MR已经存在。尝试找到mr_id = 1(未创建)的mr,并将其设置为application.mr