`
xly_971223
  • 浏览: 1263563 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

hibernate 多对多只删除中间表数据

阅读更多
整了一下午终于有点苗头了
赶紧写下来
首先配置表的多对多映射 具体方法参见《深入浅出hibernate》
下面列出删除中间表数据的方法
role跟Program 是多对多关系
Role role = get(roleId); 
		for(Long programId : programIds){
			Program p = get(Program.class, programId);
			if(p != null){
//下面两句就是关键代码了 多对多的所有操作都必须同时操作两端的表,保存 更新 删除等都是如此 
				p.getRoles().remove(role);  //删除节目中对角色的引用
				role.getPrograms().remove(p);//删除角色表对节目表的引用
			}
		}
save(role);


下面是新增代码
Role role = get(roleId); 
for(Long programId : programIds){
			Program p = get(Program.class, programId);
			p.getRoles().add(role); //添加角色到节目的关联
			role.getPrograms().add(p);//
		}
		save(role);

道理跟删除一样
别忘了设置cascade="save-update"
分享到:
评论
6 楼 Jackromer 2015-12-11  
请问楼主知道如何通过主控方来删除与其有关的中间表记录?
谢谢,成功搞定了我的疑问
5 楼 JF辰泉 2013-07-27  
LZ,你确定你两段代码的第一行没写错??
4 楼 javaSunStar 2013-04-16  
呵呵 粗心如此。
3 楼 ljm1227134894 2012-07-18  
volking 写道
请问楼主知道如何通过主控方来删除与其有关的中间表记录?

同样期待...
2 楼 xiangdian007 2008-10-07  
1 楼 volking 2008-03-23  
请问楼主知道如何通过主控方来删除与其有关的中间表记录?

相关推荐

    Struts+Spring+Hibernate快速入门

    本文是开发基于spring的web应用的入门文章,前端采用Struts MVC框架,中间层采用spring,后台采用Hibernate。  本文包含以下内容:  •配置Hibernate和事务  •装载Spring的applicationContext.xml文件  •...

    毕业设计:基于 Struts2 和 hibernate 的运动社区系统

    该系统主要采用 Struts2 框架,使用了 Eclipse 开发工具。...该系统具备数据查询、修改、增加、删除等功能,实现了用户基本信息管理,短信息管理,联系人管理等模块的全部功能。 内含项目完整代码,数据库及配套报告。

    基于J2EE框架的个人博客系统项目毕业设计论文(源码和论文)

    例如数据表中用户选择字段方式的改变,用户查询的需求也会不断的更新和完善。所有这些,都要求系统提供足够的手段进行功能的调整和扩充。而要实现这一点,应通过系统的开放性来完成,既系统应是一个开放系统,只要...

    基于SSH框架的JavaEE健康管理网站,系统功能丰富,满分毕业设计!

    本系统采用的是典型的JavaEE 三层结构,分为表现层、中间层(业务逻辑层)和数据服务层。三层体系将业务规则、数据访问及合法性校验等工作放在中间层处理。客户端不直接与数据库交互,而是通过组件与中间层建立连接,...

    火炬博客系统7

    Hibernate用来作持久层部分和域模型层部分,负责存储、更新、删除、查询数据库记录等,用来作DAO处理,本系统使用Spring整合Hibernate,spring为Hibernate的session提供了有效的容易和安全的控制,Spring控制...

    火炬博客系统6

    Hibernate用来作持久层部分和域模型层部分,负责存储、更新、删除、查询数据库记录等,用来作DAO处理,本系统使用Spring整合Hibernate,spring为Hibernate的session提供了有效的容易和安全的控制,Spring控制...

    火炬博客系统5

    Hibernate用来作持久层部分和域模型层部分,负责存储、更新、删除、查询数据库记录等,用来作DAO处理,本系统使用Spring整合Hibernate,spring为Hibernate的session提供了有效的容易和安全的控制,Spring控制...

    JAVA上百实例源码以及开源项目源代码

     关于数字签名:产生RSA密钥对(myKeyPair),得到RSA密钥对,产生Signature对象,对用私钥对信息(info)签名,用指定算法产生签名对象,用私钥初始化签名对象,将待签名的数据传送给签名对象(须在初始化之后),用公钥...

    基于javaEE健康管理系统SSH设计软件源码+数据库+word毕业论文文档.zip

    本系统采用的是典型的J2EE 三层结构,分为表现层、中间层(业务逻辑层)和数据服务层。三层体系将业务规则、数据访问及合法性校验等工作放在中间层处理。客户端不直接与数据库交互,而是通过组件与中间层建立连接,再...

    java开源包1

    Java Remote Desktop 是一个Java 的远程桌面软件,支持很多特性例如文件传输、数据压缩、颜色转换、键盘鼠标事件转换等等。 最短路径算法实现 k-shortest-paths 这是一个实现了 Yen 的排名算法的无环路径的项目 ...

    java开源包11

    Java Remote Desktop 是一个Java 的远程桌面软件,支持很多特性例如文件传输、数据压缩、颜色转换、键盘鼠标事件转换等等。 最短路径算法实现 k-shortest-paths 这是一个实现了 Yen 的排名算法的无环路径的项目 ...

    java开源包2

    Java Remote Desktop 是一个Java 的远程桌面软件,支持很多特性例如文件传输、数据压缩、颜色转换、键盘鼠标事件转换等等。 最短路径算法实现 k-shortest-paths 这是一个实现了 Yen 的排名算法的无环路径的项目 ...

    java开源包3

    Java Remote Desktop 是一个Java 的远程桌面软件,支持很多特性例如文件传输、数据压缩、颜色转换、键盘鼠标事件转换等等。 最短路径算法实现 k-shortest-paths 这是一个实现了 Yen 的排名算法的无环路径的项目 ...

    java开源包6

    Java Remote Desktop 是一个Java 的远程桌面软件,支持很多特性例如文件传输、数据压缩、颜色转换、键盘鼠标事件转换等等。 最短路径算法实现 k-shortest-paths 这是一个实现了 Yen 的排名算法的无环路径的项目 ...

    java开源包5

    Java Remote Desktop 是一个Java 的远程桌面软件,支持很多特性例如文件传输、数据压缩、颜色转换、键盘鼠标事件转换等等。 最短路径算法实现 k-shortest-paths 这是一个实现了 Yen 的排名算法的无环路径的项目 ...

    java开源包10

    Java Remote Desktop 是一个Java 的远程桌面软件,支持很多特性例如文件传输、数据压缩、颜色转换、键盘鼠标事件转换等等。 最短路径算法实现 k-shortest-paths 这是一个实现了 Yen 的排名算法的无环路径的项目 ...

    java开源包4

    Java Remote Desktop 是一个Java 的远程桌面软件,支持很多特性例如文件传输、数据压缩、颜色转换、键盘鼠标事件转换等等。 最短路径算法实现 k-shortest-paths 这是一个实现了 Yen 的排名算法的无环路径的项目 ...

    java开源包8

    Java Remote Desktop 是一个Java 的远程桌面软件,支持很多特性例如文件传输、数据压缩、颜色转换、键盘鼠标事件转换等等。 最短路径算法实现 k-shortest-paths 这是一个实现了 Yen 的排名算法的无环路径的项目 ...

Global site tag (gtag.js) - Google Analytics