hibernate 删除主键记录,让外键表外键字段为空!
我记得hibernate有个配置,配置后删除时,hibernate会自动更新外键表的外键字段,然后在删除主键表!
记不清楚是在哪里配置了,配置什么?

解决方案 »

  1.   

    cascade? 不过你也得配置了 对应关系吧?
      

  2.   

    on delete cascade和on delete set null:两个要害字,第一个的意思就是当主键删除的时候,
    所有与其对应的外键信息删除;第二个的意思就是当主键删除的时候,所有与其对应的外键信息清空。
      

  3.   

    cascade="delete-orphan"不过应该是删从表记录
      

  4.   

    至于删除主表记录,但保留从表记录,只要在主表中不配置cascade,也就是保持cascade为null就行了。
      

  5.   

    订正
    也就是保持cascade为none就行了
      

  6.   

    我补充一下 比如我主表为A 其中 B C 2个表为外键表,A表的映射文件里配置了B表的多对一关系的cascade=“delete” ,当我删除了A表后会级联删除B,这是我想要的!
    但是因为C表的映射文件里配置了A表的多对一关系(C表是A表的外键表)。删除A表的时候,如果C表有数据,会报错!B表的级联删除不变,这该怎么实现?
      

  7.   

    已经解决了!通过数据库设置C表删除时 on delete set null 就可以了。
      

  8.   

    如果只想在hibernate中配置,而不想在数据库中配置on delete set null ,那怎么办?