让我们说这是一个具有独特约束场的类。
@Entity
public class Thing {
@Column(name = "name", unique = true)
private String name;
@ManyToOne
private Owner owner;
}
如果使用唯一名称创建新Things
,示例就可以正常工作。但是当不同的所有者想要创建具有相同名称的东西时,这种方法就失败了。
是否可以使用Hibernate / JPA功能(我找不到任何功能)基于Things
在数据库中为Owners
的不同记录设置唯一约束,或者我应该编写自己的逻辑和从unique
转储@Column
。
也许可以用Hibernate Validator完成?阅读docs我没有发现很多关于独特约束的内容。
答案 0 :(得分:1)
您正在寻找@UniqueConstraint
http://docs.oracle.com/javaee/5/api/javax/persistence/UniqueConstraint.html