这个如果不做设置,hibernate应该不会级联删除的吧。

解决方案 »

  1.   

    配置文件中cascade  属性  设置  False
      

  2.   

    多对多处理起来确实比较麻烦,特别是像小妹这种多重多对多关系,处理起来更加麻烦,因为业务可能有多种不同的组合,用户的删除操作,可能是删除大商品表,也可能是删除小商品类型表,还可能是删除商品表,所以这里就要考虑数量众多的情况.个人觉得 
    可以考虑在做做删除操作的时候,使用SQL进行操作,当然,使用Hibernate进行处理也是可以的,同时,
    可以参考一下Faceye开源portal里面关于这一点的实现http://ecsun.javaeye.com,在Faceye开源protal里面,用户,角色,权限,资源,它们之间都是多对多关系,所以处理起来就更复杂,可以考虑参考一下.
      

  3.   

    在配置文件中把cascade设置成none
    cascade属性设置为除了none以外任何有意义的值, 它将把特定的操作传递到关联对象中。这个值就代表着Hibernate基本操作的名称, persist, merge, delete, save-update, evict, replicate, lock, refresh, 以及特别的值delete-orphan和all,并且可以用逗号分隔符 来组合这些操作,例如,cascade="persist,merge,evict"或 cascade="all,delete-orphan"。
      

  4.   


    hibernate不设置cascade,默认就是false,
    另外,数据库的级联删除关系也请取消掉
      

  5.   

    你把HIBERANATE中三个表的配置文件中的多对多关系列里的CASACDE:DELETE删除了就可以了
      

  6.   

    从性能来考虑 能用数据库直接搞定的就不要在JAVA代码里解决 这样才以发挥两者更大的性能