在hibernate配置文件里加了cascade="all",但在删除时会报外键冲突,把数据库里外键去了后不报错了,可也没有级联删除掉,怎样才能实现级联删除

解决方案 »

  1.   

    不要使用hql方式,使用session.delete(Object主对象)的方式,hibernate会先将子对象中的关联外键设置为null,然后执行父对象中的delete操作,
      

  2.   

    hibernate删除级联的时候,必须把这个两个对象都纳入session的管理,两个表关联的时候没必要设置外键,楼主可以这样删除试试:先用get()方法得到其中一个对象,然后删除这个对象这样应该把级联的也给删掉session.delete(session.get(XXXX.class,X))
      

  3.   

    cascade="delete";只级联要删除的
      

  4.   

    我现在写的执行的结果也是这样的,但这不是级联删除呀,这等于是将子表的数据的外键update成null了,然后删除的主表的!!!!