在<one-to-many>one一方,设级联为delete,但删除one一方时,为什么many一方相关的记录并没有删除,而是外键设为null,那delete的作用不就与none相同了吗?
还有为什么把one一方设为inverse="true"时就会两边都删除?或者两边都设级联为delete为什么也会两边都删除?

解决方案 »

  1.   

    你把one的一方设为inverse="true" 删除one的时候还可以删除many相关数据?
    hibernate3.0以后默认<one-to-many> one的一方是inverse="true" 即放弃关系端维护
    所以你第一个问句是正确的
    但第二个问句:还有为什么把one一方设为inverse="true"时就会两边都删除?
    放弃关系断维护了还能在删除one的时候删除many吗?
      

  2.   

    恩,情况跟你说得相反,当one一方设为inverse="true" 会一并把many删除,设为inverse="false"会把相对应的many的外键设为Null.
      

  3.   

    inverse属性:true表示自己放弃维护关联关系,默认为false。