我有三个表:项目,节点和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