Hibernate对持久化类的操作非常方便,而级联操作也是功能强大。但是级联操作会带来莫名其妙的问题,下面就提出一个非常微妙的问题,即
hbm文件中定义的集合Set在顺序不同的情况下,对操作会带来不同的影响。下面用一个例子来说明一下该问题。
持久化类描述:
M.hbm.xml:
操作测试:
操作结果正常:
但是删除不正常:
修改M.hbm.xml为:
则删除正常:
但是插入又不正常了:
问题处在何方?为何跟M.hbm.xml里面的set顺序有关系呢?如何统一解决呢?