日期:2014-05-17  浏览次数:20744 次

hibernate 单向多对一的更新和删除问题!!!
hibernate 单向多对一的更新和删除问题!!级联更新和删除是如何设计的?是从多的一方控制,还是从一的一方控制!比如说:一个人对应了多个地址,那么这个人从数据删除了它对应的地址会不会删除!!今天做了一个demo,感到疑问,问一下大家!!

------解决方案--------------------
设置Hibernate级联删除,只需:
 
1.在父端的one-to-one/many-to-one关系:设置cascade=”delete”或cascade=”all”。 

2.在父端的one-to-many关系:设置cascade=”all-delete-orphan”或cascade=”all”。 
即可。

------解决方案--------------------
要不要删掉一般是业务需求决定的,一般情况下,一的一方删了 多的就删掉了。
技术上要不要删 一楼的正解。

------解决方案--------------------
<many-to-one>是多端的配置,也即是你所说的地址端的配置。
应该是在单端(即人端)设置 <set cascade="all"> <one-to-many /> </set>

探讨
还是不行呀!!根本不允许删除与地址有关联的人!!!<many-to-one name="person" column="personId" not-null="true" cascade="all"/>这是地址一方的hbm配置文件!!