Java Hibernate进行两次插入,并导致唯一密钥约束冲突

Java Hibernate进行两次插入,并导致唯一密钥约束冲突,java,sql,hibernate,jboss,Java,Sql,Hibernate,Jboss,您好,我得到了这个“javax.persistence.PersistenceException:org.hibernate.exception.ConstraintViolationException:ERROR:重复键值违反了唯一约束” 我有两张桌子A和B A有身份证,b有身份证,b有身份证,A有身份证。 一对一,一对一的关系 在一个 在B上 @ManyToOne(cascade = {CascadeType.ALL}) @JoinColumn(name = "A_ID") @Valid @

您好,我得到了这个“javax.persistence.PersistenceException:org.hibernate.exception.ConstraintViolationException:ERROR:重复键值违反了唯一约束”

我有两张桌子A和B

A有身份证,b有身份证,b有身份证,A有身份证。 一对一,一对一的关系

在一个

在B上

@ManyToOne(cascade = {CascadeType.ALL})
@JoinColumn(name = "A_ID") @Valid
@EntityProperty(type = "Key", relation = "A.id")
当我创建页面A时,我可以这样做,但当我尝试更新时,我在表“B”上得到了唯一的约束冲突


它表示记录已经存在。

您必须使用
mappedBy
属性建立双向关系

见:


此外,此操作不需要@EntityProperty。外键应以一对一的方式位于一个表中。

为什么将A设置为@OneToOne而不是@OneToMany?
@ManyToOne(cascade = {CascadeType.ALL})
@JoinColumn(name = "A_ID") @Valid
@EntityProperty(type = "Key", relation = "A.id")