在是使用JPA(hibernate)配置实体关系中,经常会遇到通过父实体对象级联批量更新子对象的需求,而且每次更新必须采用合并方式,即原来的所有子删除,只保留本次保存的所有子实体对象。
例子:
A为父对象,持有一个B的集合,A与B的关系为oneToMany.
第一次保存:设置A下的B集合成员为:1,2,3, 保存A后,B对象对应的数据表为:1,2,3
第二次保存:设置A下的B集合成员为:2,3,4, 保存A后,B对象对应的数据表为:2,3,4 (自动删除无效数据1)
这个就是自动去孤子功能。
配置如下:
class A{ private Set<B> bs = new HashSet<B>(); @OneToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY, mappedBy = "flowNode", orphanRemoval = true) @OrderBy(clause = "id") public Set<B> getBs() { return bs; } }
调用操作代码:
A a = new A(); Set<B> bs = new HashSet<B>(); bs.add(...) a.getBs().clear(); a.getBs().addAll(bs);
相关推荐
Hibernate 一对多、多对一、级联、加载、反转
JPA中的一对多双向关联与级联操作
10_JPA详解_JPA中的一对多双向关联与级联操作.zip
NULL 博文链接:https://1028826685.iteye.com/blog/1525772
struts2 spring jpa操作数据库 级联数据 hibernate
NULL 博文链接:https://xuwoool.iteye.com/blog/1306207
JPA用于整合现有的ORM技术,可以简化现有Java EE和Java SE应用对象持久化的开发工作,实现ORM的统一。JPA详解视频教程 第10讲 JPA中的一对多双向关联与级联操作.avi
Hibernate 是最流行的ORM 框架之一,也是最早实现JPA 的规范框架之一。它被JBoss 收购后, 目前作为JBoss 的一个开源框架,它遵循LGPL v2.1 开源许可协议,官方主页是http://www.hiber ate.org/。
10_传智播客JPA详解_JPA中的一对多双向关联与级联操作.rar
主要介绍了MySQL使用外键实现级联删除与更新的方法,详细分析了mysql数据库与表的创建、数据插入、查询以及外链的使用与级联操作相关技巧,需要的朋友可以参考下
· 0. JPA视频_PPT及源码 · 1. JPA视频_概述 · 2. JPA视频_HelloWorld · 3. JPA视频_基本注解 · 4.... JPA视频_JPQL_子查询和内建函数 · 23. JPA视频_JPQL_DELETE和UPDATE · 24. JPA视频_整合Spring
07_JPA详解_使用JPA加载_更新_删除对象.zip 07_JPA详解_使用JPA加载_更新_删除对象.zip
JPA教程JPA教程JPA教程JPA教程JPA教程
jpa jpa规范 jpa源码 jpa jpa规范 jpa源码
本文是介绍Spring-data-jpa的PPT的学习笔记,整理...JPA API 条件查询 (子查询,多表连接查询) JPA结合QueryDSL轻松完成复杂查询(自连接,多表连接查询) 参与文档: Pro JPA2中文版:精通Java持久化API 优秀博文读书笔记: ...
NULL 博文链接:https://913.iteye.com/blog/2397146
jpajpajpajpajpajpajpajpajpajpajpajpajpa
包括TOPLink JPA,Hibernate JPA,Open Jpa,jpa批注
本实例仅仅是jpa对数据库的基础操作,在后续会将spring融入到项目中进行整合、后续版本将持续更新......