0
好了,不要問爲什麼,但我們有以下類別結構的要求:NHibernate的 - 通過映射集非PK外鍵
- 系統定義的根類的集合(我們使用這些枚舉)
- 用戶自定義的子類的集合,每一個根類別ID外鍵
- 系統定義的細分子類別
左右的集合,它看起來有點像這樣:
Sys系統定義的根類別 - >用戶定義子類別 - > SYS定義葉類 - >項
我們需要加載基於子類的根類的預定義的類別。例如,如果我們有:
車輛 - >我的蒙迪歐 - > [輪,音響,儀表板]
用戶定義的「我的蒙迪歐」子貓會取它是基於其子類別的根類別(汽車)。
所以我們有這樣的反向許多一對多的關係怎麼回事:
rootCats --1---------0..*-- user-defined cats
| |
1 0..n
| |
| |
| |
0..* |
| |
pre-defined cats--1------------------
我試圖在NHibernate中有以下映射這樣的:
<set name="PreDefinedSubCategories" lazy="false" cascade="none" mutable="false">
<key column="vaultCategoryId" property-ref="Category" />
<one-to-many class="PreDefinedVaultCategory" />
</set>
但是,屬性-ref屬性被棄用,無論如何它拋出一個'集合沒有關聯任何會話'的錯誤。
有沒有人使用nhibernate實現過類似的東西。如果是這樣,是否有一個很好的做法,或者我應該定義一個方法來過濾所有的葉貓後,他們已經加載?