Hibernate來說,一個PO狀態的判定完全依賴于主鍵屬性的值,甚至很多PO的隱形的級聯操作,例如關聯對象的是否級聯增加/更新這些判定也完全依賴于主鍵屬性的值,所以主鍵屬性值的維護對于Hibernate能否正確的運行,正確的持久化數據至關重要。
如果當你使用無意義的邏輯主鍵的時候,主鍵的維護完全是由Hibernate自動進行的,你無須關注主鍵的維護,自然就避免了很多問題的產生;而如果你選擇自己手工維護主鍵(聯合主鍵就必須手工維護),所有的這些維護主鍵的重任都必須由你來負責,你必須小心翼翼的編程,避免造成無法正確持久化,對于一個不是非常精通Hibernate的人來說,這通常比較難達到,更何況在分層架構中,Web層程序員僅僅操作DAO接口層,他更加不了解PO狀態維護的個中微妙之處,極易犯錯誤那也是在所難免。
所以采用無意義的邏輯主鍵一定Hibernate的首選。
詳情請進: http://forum.javaeye.com/viewtopic.php?t=11161&postdays=0&postorder=asc&start=0
posted on 2006-05-25 09:52
OMG 閱讀(2757)
評論(1) 編輯 收藏 所屬分類:
<項目>數據庫設計