我有三個表:項目,節點和item_node作爲連接表,當然其中包含的項目和節點的標識。這種方法可以在Hibernate中實現多對多映射嗎?
我可以映射鏈接表(item_node),以便相應的類ItemNode持有對Item和Node類的某種引用嗎?是否有任何已知的做法在m:n關係中映射鏈接表?
我會想象這樣的事情:
<class name="test.model.ItemNode" table="ITEM_NODE">
<composite-id name="ID" class="test.model.INCompID">
<key-property name="item" column="ITEM_ID" />
<key-property name="node" column="NODE_ID"/>
</composite-id>
</class>
其中INCompID是複合ID類:
public class INCompID {
private Item item;
private Node node;
//getters, setters and overriden
//equals() and hashCode() methodes
}
項目和節點已經映射和正常工作本身。
我知道這不是處理多對多關係的常用方法,但由於懶惰的初始化異常,我使用基於標準set/bag方法的問題頗爲惱人,並且沒有因爲它們將包含大量數據(數據庫表中的成千上萬行),所以可以加載這些集合。
Spring AOP用於事務管理。的OpenSessionInViewFilter /攔截器似乎並不爲這個特定的問題或者有幫助,所以......
感謝您的回覆,這很有幫助 – Less 2011-01-28 09:34:46