2

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

我有两张桌子A和B,

A 有 id,b_id,B 有 id,A_id 的。A - oneToMany , B - manyToOne 关系。

在 A 上,

@OneToOne(cascade = { CascadeType.ALL })
@JoinColumn(name = "LATEST_VERSION_ID") @Valid
@EntityProperty(type = "GuidKey", relation = "B.id")

在 B 上,

@ManyToOne(cascade = {CascadeType.ALL})
@JoinColumn(name = "A_ID") @Valid
@EntityProperty(type = "Key", relation = "A.id")

当我创建 Page AI 时能够这样做,但是当我尝试更新时,我在表“B”上遇到了唯一约束违规。

它说记录已经存在。

4

1 回答 1

0

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

看:

此外,这不需要@EntityProperty。外键应该一对一地在一个表中。

于 2013-04-18T01:44:08.720 回答