我有一个问题,找不到任何答案。
我有一个拥有3个成员的实体
@ManyToOne(optional = false)
@JoinColumn(name = "col1")
private Class1 class1;
@Column(nullable = false)
private Integer lvl;
@ManyToOne(optional = false)
@JoinColumn(name = "col2")
private Class2 class2;
对于这个实体,我想使用唯一的约束来确保这两个外键的组合只能出现一次。所以我加了:
@Table(uniqueConstraints = {
@UniqueConstraint(columnNames = {"col1", "col2"})
})
在类定义之上。
当唯一约束被违反时,我如何告诉hibernate使用新的lvl更新旧条目,如果不违反则创建新行?因为目前如果我调用saveOrUpdate()会引发异常?
预先感谢:D