我有一個對象與大約20個其他對象相關的MainObject。這20個其他對象 - RelatedObject1,RelatedObject2等與MainObject的關係定義如下。NHibernate實體映射
1實例MainObject - RelatedObject_1 1個實例的> N個實例MainObject - > RelatedObject_2的N個實例 1實例MainObject - > RelatedObject_3 的N個實例。 。 。 1個實例MainObject - > N個RelatedObject_20的實例。
現在所有的關係都是「有 - 有」關係,而不是「IS-A」關係。這不是一個親子關係。
相關對象在系統中有其獨立的事務功能流程。 現在我應該在我的MainObject.hbm.xml中爲這20個相關對象創建Bags/Sets/Lists /。 用於從MainObject訪問它們的數據。
如果我創建一個包/設置/列表 - 我想確保在保存或更新MainObject時數據不保存/保留在數據庫中。在這種情況下使用哪些屬性是有意義的。
但由於相關實體的交易流程是獨立的,它是一個很好的做法,包括皮包一樣?這不會增加對象圖嗎? – 2012-03-27 10:49:19
如果您經常需要將主對象與相關對象一起使用,則更容易建立關係,因爲您可以使用獲取路徑來快速加載帶有相關數據的主對象。此外,Cascade =「none」可確保在CUD主對象時未觸及相關對象。 – Firo 2012-03-27 16:51:41
謝謝。這回答了我的問題。 – 2012-03-28 04:11:56