jpa 多层嵌套一对多_OpenJPA-嵌套的一对多关系合并问题
将其发布在这里是因为我在这里没有太大的兴趣:http : //www.java-
forums.org/jpa/96175-openjpa-one-many-within-one-many-merge-
problems.html
试图找出这是OpenJPA的问题还是我做错了…
尝试使用OpenJPA更新包含与另一个实体具有一对多关系的实体时,遇到一个问题。这是我正在谈论的简单示例:
@Entity
@Table(name = "school")
public class School {
@Column(name = "id")
protected Long id;
@Column(name = "name")
protected String name;
@OneToMany(mappedBy = "school", orphanRemoval = true, cascade = CascadeType.ALL)
protected Collection classRooms;
}
@Entity
@Table(name = "classroom")
public class ClassRoom {
@Column(name = "id")
protected Long id;
@Column(name = "room_number")
protected String roomNumber;
@ManyToOne
@JoinColumn(name = "school_id")
protected School school;
@OneToMany(mappedBy = "classRoom", orphanRemoval = true, cascade = CascadeType.ALL, fetch = FetchType.EAGER)
protected Collection desks;
}
@Entity
@Table(name = "desk")
public class Desk {
@Column(name = "id")
protected Long id;
@ManyToOne
@JoinColumn(name = "classroom_id")
protected ClassRoom classRoom;
}
在SchoolService类中,我具有以下更新方法:
@Transactional
public void update(School school) {
em.merge(school);
}
我正在尝试从学校中删除一间教室。我将其从classRooms集合中删除并调用更新。我注意到教室没有书桌,没有问题。但是,如果教室有桌子,它会抛出一个约束错误,因为它似乎首先尝试删除教室,然后再删除桌子。(教室ID列有一个外键约束)
我会以错误的方式处理吗?我是否缺少某些设置才能让它先删除内部的“桌面”实例,然后再删除已删除的“课堂”实例?
任何帮助,将不胜感激。如果您需要更多信息,请告诉我。谢谢,
jpa 多层嵌套一对多_OpenJPA-嵌套的一对多关系合并问题相关推荐
- [AngularJS] “多重路由”嵌套模块——AngularJS“路由”嵌套学习资料教程
这是小编的一些学习资料,理论上只是为了自己以后学习需要的,但是还是需要认真对待的 以下内容仅供参考,请慎重使用学习 1.AngularJS路由嵌套 Angularjs本身自带路由模块,可以满足通过不同 ...
- java 嵌套类 继承_Java嵌套类 - 爱吃苹果的搬运工的个人空间 - OSCHINA - 中文开源技术交流社区...
在Java中可以创建几种不同类型的嵌套类: 静态嵌套类: 静态内部类可以独立于外部类被实例化,无法访问外部类中的非静态属性和方法,只能外部类的实例来访问外部类的非静态变量 public class O ...
- Repeater 嵌套 绑定数据,嵌套的Repeater无法绑定的问题
Repeater 嵌套 绑定数据,嵌套的Repeater无法绑定的问题 今天做绑定遇到了这个么个问题,绑定的事件ItemDataBound()跟之前的并没有 改动,为什么会出现绑定失败的问题呢?要是你 ...
- python中类的嵌套_python类的嵌套
广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! 在.net和java语言中看到过嵌套类的实现,作为外部类一个局部工具还是很有用的 ...
- 51单片机除c语言 中断嵌套,关于51系列单片机中断嵌套 - 关于单片机中断嵌套总结...
关于51系列单片机中断嵌套 说最基本的,老的51单片机(80C51系列)有5个中断源,2个优先级,可以实现二级中断服务嵌套.现在很多扩展的51单片机已经有4个优先级(或更多)和更多的中断源了. 在说到 ...
- python关于字典嵌套字典,列表嵌套字典根据值进行排序
python 对于字典嵌套字典, 列表嵌套字典排序 例:列表嵌套自字典:d = [{"name": '张三', 's': 68}, {'name': '李四', 's': 97}] ...
- java 接口嵌套接口_Java接口嵌套
在Java语言中,接口可以嵌套在类或其它接口中.由于Java中interface内是不可以嵌套class的,所以接口的嵌套就共有两种方式:class嵌套interface.interface嵌套int ...
- vue动态配置嵌套页面(含iframe嵌套)可实现白天夜间皮肤切换
引用地址:vue动态配置嵌套页面(含iframe嵌套)可实现白天夜间皮肤切换 - 长空雁叫霜晨月 - 博客园 项目预览地址:https://volodya-01.github.io/vue2.0_t ...
- oracle中嵌套函数,Oracle的嵌套函数语法
Oracle的嵌套函数语法 单行函数可以嵌套任意层: 嵌套函数从最深层开始执行. 通用函数: BFILENAME(directory,file_name) 返回操作系统中与物理文件 file_name ...
- C语言嵌套函数封装替换,函数可以嵌套定义但不能嵌套调用吗,嵌套函数
函数可以嵌套定义但不能嵌套调用吗一个函数可以被定义为嵌套的,但不能被称为嵌套的吗,不对,函数可以嵌套调用,但不能嵌套定义.在C语言中,所有函数都是并行的,即定义函数时相互独立,一个函数不从属于另一个函 ...
最新文章
- thinkphp5框架一小时搭建一个php后端(1)
- assembly x86(nasm)画三角形等图形的实现(升级版)
- php里面的mark,PHP CommonMarkCQL 用法 手册 | 示例代码
- 面向项目(十)—— 头文件、源文件的组织
- Android应用分析进阶教程之一- 初识JEBAPI
- 每当Xcode升级之后,都会导致原有的Xcode插件不能使用,解决办法
- CAN FD安全通信
- ERP原理及应用教程-第五章
- PS案例提升 【第1节】抠图--薄、透、露的朦胧美 案例二:扣取婚纱新娘
- 斜率、梯度(完全不一样的理解)
- 计算机取消健,电脑取消撤销快捷键是什么_电脑健盘中的所有英文组合意思超值解释建议收藏......
- [c语言]在程序中检测键盘按键
- Mysql 与 python 的使用
- 如何在 Linux 中创建并运行 Shell 脚本(Bash 初学者教程)
- 50岁的程序员还奋战一线,软件测试能干到多少岁?有年龄限制吗?
- postman接口关联
- JS中的DOM与BOM
- 模切行业选择ERP系统的方案
- html5+Css3 做一个婚纱网页
- 用javascript+jquery编写的小游戏-贪吃蛇(双人对战版)
热门文章
- matlab 2017 ubuntu,ubuntu安装matlab R2017,
- 使用gpu(gtx1080) cudnn 5.1下编译faster rcnn
- Linux2.6内核驱动与2.4的区别 .
- 手把手教会你小程序登录鉴权
- PHP实现二叉树的深度优先遍历(前序、中序、后序)和广度优先遍历(层次) 转载陈小龙哈2017...
- 在 Docker 上运行一个 RESTful 风格的微服务
- 向不支持输入法的软件输入中文
- public/private/protected/默认 的各种理论上的区别
- Android 编程下 java.lang.NoClassDefFoundError: cn.jpush.android.api.JPushInterface 报错
- 扩展语法检查(SLIN检查)