初学hibernate,做着一个小的训练项目。其中有一个板块表board  话题表topic  还有一个复贴表article
board和topic是一对多的关系  topic和Article是一对多的关系,映射文件中的one端的Set的cascade都设为All了在执行删除board的时候  本想应该会把它所包含的topics及其所包含的articles的
但却报了org.hibernate.ObjectDeletedException: deleted object would be re-saved by cascade (remove deleted object from associations): [com.mybbs.bean.Topic#78]把cascade改为了save-update虽说可以删除了  但没有级联删除掉many端的上网查了  没结果   

解决方案 »

  1.   

    你用的是双向,还是单向级联关系,建议你改为双向级联,把one端的set的cascade设为all。
      

  2.   

    嗯  单向的 
    本来是双向的   但是存在一个问题  还有一个user表  和topic也是一对多的关系  如果改用双向的级联的话
    当删除board的时候  虽然是可以将其所包含的topics删除掉  但是  它也会同时把topics关联的user删除掉
      

  3.   

    不会的,user表是one端,topic是多端吧。把topic与user的映射cascade改为save-update。
      

  4.   

       这样可以了  先谢谢  我再试试   删除user看看  
      

  5.   

            这样删除user的时候  无法级联删除掉user关联的topics  和articles 了