1:m 的关系应该合理的怎么设置呢 ?
特别 inverse 和cascade两个属性?
要求是这样的 :(没有弄明白inverse 和cascade两个属性)
当删除1方的一条记录的时候,m方相关记录应该全被删除!
当删除m方的某一个记录的时候要求1方相关的记录保持不变.您说是不是要按如下设置才能达到这样的要求呢 ?
1方 inverse= "true " cascade= "all "
m方:inverse= "false " cascade= "save_update "(书上说主控权放到m方,避免在m方的关联字段先插入空值的情况)
这样设置能满足我说的要求吗?
m:n的关系
当删除m方的某一个记录的时候要求n方相关的记录保持不变(只是第三个表_关联表有所变化)
当删除n方的某一个记录的时候要求m方相关的记录保持不变(只是第三个表_关联表有所变化)
是不是就应该这样配置:
m方 cascade= "save_updatel "
n方: cascade= "save_update " (双方都有主控权)
这样可以吗?今天我出现这样的一个问题:删除(1:m的关系)m方一条记录的时候竟然把别的关联的表(3个表)中的相关联的记录全部删除了,是怎么回事情?
------解决方案--------------------
这不是hibernate中的级联关系吗?
------解决方案--------------------
当删除1方的一条记录的时候,m方相关记录应该全被删除!
cascade= "delete "
当删除m方的某一个记录的时候要求1方相关的记录保持不变
cascade= "none "
要这样设置属性
你试试