2009-12-03 90 views
11

我在JPA中为用户表中的所有记录强制实施的userid列强制执行唯一约束检查​​。JPA中的唯一约束检查​​

@Table(name = "user", 
     uniqueConstraints = @UniqueConstraint(columnNames = userid)) 

我的要求是,特定组织内的用户标识必须是唯一的,而不是跨所有组织。

我该如何执行这样的检查?

回答

18

您可以为唯一约束指定多个领域,尝试:

uniqueConstraints={@UniqueConstraint(columnNames={"userid", "organizationid"})} 

通过这样做,你的约束检查用户名和organizationid的组合是否是唯一的。

最良好的祝愿, 费边的快速回答

+0

谢谢,它按预期工作。 – Joe 2009-12-03 11:08:28

+0

欣赏你对此的见解吗? 校园内有OneToMany大楼 大厦有OneToMany房间 校园内的房间名称必须是唯一的。是否可以在Room实体上定义这样的约束条件? – Joe 2009-12-03 11:22:41