hibernate 级联删除时候的两种情况 之(二) 删除从表,无法删除关系表

其中从表是关系被维护端:

 

Hibernate实现多对多关系映射有两种方法:
1.通过配置两个一对多来实现多对多,既三张数据表,三个实体,同时配置组件模块,唯一缺点是要同时实现这个外键中间表的增删查改功能.
2.通过配置双方的模块来实现,同时两个实体的bo对象都有对方的Set集合,而inverse必须设置主控方为false,被控方为inverse=true,如果双方都为true(即都为被控方)那就没人来维护关系,那么更新/删除数据时无论哪一方都不会去更新/删除中间表的数据...通过Hibernate配置后已经可以实现主控方删除时能删除本身数据和中间表数据,而被控方只能删除本身表的数据,中间表的数据仍然存在....要想实现被控方删除时同时删除中间表数据,需要去数据库中设置外键中间表的关联关系为delete cascade就可以了..

以下为hibernate配置:
User:
     
          
        


Role:
     
          
        


你可能感兴趣的:(Hibernate)