2009-12-03 96 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