hibernate中怎么只删除中间表
2014-05-06 14:01
316 查看
数据库有三张表,一张user,一张role,一张user_role,现在我要删除一个用户拥有的某些角色,user和role是多对多的关系,纠结了很久,下面这个方法好像可以正常删除,于是记录下来,便于以后参考
public void deleteRole(int userid,int[] sub) { //TODO Auto-generated method stub for(int a:sub){ try { // 要删除的角色 roleInfo role=(roleInfo)dbsupport.GetObjectByClass(roleInfo.class, a); //得到用户对象 userInfo user=this.getUser(userid); //从user.getRoles集合中移除role user.getRoles().remove(role); //从role.getUsers()集合中移除user role.getUsers().remove(user); //数据库更新 dbsupport.UpDateByObjectNoTransaction(user); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } } } }红色代码为关键性代码,移除俩边的关系
相关文章推荐
- Hibernate进行单向Many-to-Many映射时如果只删除一方及中间表,切忌莫加入Cascade
- LISTVIEW控件怎么删除末尾的一行,或删除中间选定的一行
- hibernate manytomany 只删除本表和中间表数值
- hibernate先删除数据,紧接着执行插入时的异常解决之道——中间不能调用flush()、clear()等方法
- hibernate 多对多只删除中间表数据
- 关于项目中hibernate无法删除中间表记录
- 没有找到项目、该项目步存在、无法删除、文件夹不存在。该项目不在。。。中。删除不了怎么办?
- 链表问题 删除链表的中间节点和a/b处的节点
- Hibernate中使用HQL语句删除数据
- Hibernate插入、查询、删除操作 HQL (转)
- win8、win8.1回收站怎么添加删除确认框?
- 域内有个病毒,是由X软件生成的,怎么删除?
- 手机sd卡文件误删除了怎么恢复教程
- hibernate级联保存更新、删除
- C++输入一组数据,降序排列后,删除三个连续元素的中间值
- 怎么删除github上的仓库
- u盘不能正常删除怎么办?
- PS参考线该怎么用? PS建立和删除参考线的使用教程
- hibernate的批量删除
- Windows中无法删除桌面IE图标怎么办