2010-11-17 111 views
2

Mysql表Employee僱員使用employeeID作爲PK。它還有一個名爲EmployeeNumber的字段。 EmployeeNumber是null或唯一的。 (一些特殊員工沒有僱員#)。當插入員工條目時,我們需要檢查員工#是否已經存在,如果員工#不是空的。Java Hibernate檢查值是否存在

不知道如何使用Hibernate來做到這一點。

預先感謝您!

+0

這將有助於看到一些代碼。在插入之前查詢表以查看員工#是否已經存在,或者在員工#上創建唯一索引並插入該行。如果唯一索引失敗了您的交易,您可以檢查異常以確認這是它失敗的原因並從那裏分支您的邏輯。 – Griff 2010-11-18 20:17:52

+0

如果您對可空列有唯一約束,那麼您將無法擁有多於一行的NULL值。至少在某些DBMS上。 – 2011-07-07 20:29:20

回答

0

難道你沒有一個機制來爲Employee實體生成主鍵嗎? 如果員工標識已存在,則調用Hibernate中的session.save()將失敗。