使用最新的休眠3 ...休眠禁用集合提取
有一個模型,其中Element類有一個關係類的2個列表集合。 Element是擁有(來源)Relation的地方,另一個是目的地。
<class name="Element"....>
....
<list name="sourceRelations" ....>
...
<one-to-many class="...Relation" />
</list>
<list name="destinationRelations" ....>
...
<one-to-many class="...Relation" />
</list>
</class>
<class name="Relation"....>
....
<many-to-one name="source" class="...Element" ...
<column name="SOURCEID" sql-type="INTEGER" not-null="true" />
</many-to-one>
<many-to-one name="destination" class="...Element" ...
<column name="DESTINATIONID" sql-type="INTEGER" not-null="true" />
</many-to-one>
</class>
映射基本上只在生成條件查詢時有用。否則,當獲取一個元素(只通過一個標準,從來沒有通過獲取/加載),我從來不希望Hibernate實際獲取關係集合。決不。現在在我的代碼中,我清理Element對象,然後通過創建一個新元素並轉移要傳播的屬性(即sourceRelation/destinationRelation永遠不會傳輸)來返回它們。針對Relation對象的條件查詢也是如此。源/目的地屬性(即元素)被清除。
有沒有辦法通過Hibernate攔截器代理Element實體或使用Tuplizers來基本強制所有Element實體將sourceRelation/destinationRelation屬性清空?
整個想法不必子。元素/關係類應該是通用的。 – 2011-05-30 08:46:53
爲什麼懶惰=「真」不夠? – 2011-06-01 15:55:14