将其发布在这里是因为我在这里没有太大的兴趣: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-嵌套的一对多关系合并问题相关推荐

  1. [AngularJS] “多重路由”嵌套模块——AngularJS“路由”嵌套学习资料教程

    这是小编的一些学习资料,理论上只是为了自己以后学习需要的,但是还是需要认真对待的 以下内容仅供参考,请慎重使用学习 1.AngularJS路由嵌套 Angularjs本身自带路由模块,可以满足通过不同 ...

  2. java 嵌套类 继承_Java嵌套类 - 爱吃苹果的搬运工的个人空间 - OSCHINA - 中文开源技术交流社区...

    在Java中可以创建几种不同类型的嵌套类: 静态嵌套类: 静态内部类可以独立于外部类被实例化,无法访问外部类中的非静态属性和方法,只能外部类的实例来访问外部类的非静态变量 public class O ...

  3. Repeater 嵌套 绑定数据,嵌套的Repeater无法绑定的问题

    Repeater 嵌套 绑定数据,嵌套的Repeater无法绑定的问题 今天做绑定遇到了这个么个问题,绑定的事件ItemDataBound()跟之前的并没有 改动,为什么会出现绑定失败的问题呢?要是你 ...

  4. python中类的嵌套_python类的嵌套

    广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! 在.net和java语言中看到过嵌套类的实现,作为外部类一个局部工具还是很有用的 ...

  5. 51单片机除c语言 中断嵌套,关于51系列单片机中断嵌套 - 关于单片机中断嵌套总结...

    关于51系列单片机中断嵌套 说最基本的,老的51单片机(80C51系列)有5个中断源,2个优先级,可以实现二级中断服务嵌套.现在很多扩展的51单片机已经有4个优先级(或更多)和更多的中断源了. 在说到 ...

  6. python关于字典嵌套字典,列表嵌套字典根据值进行排序

    python 对于字典嵌套字典, 列表嵌套字典排序 例:列表嵌套自字典:d = [{"name": '张三', 's': 68}, {'name': '李四', 's': 97}] ...

  7. java 接口嵌套接口_Java接口嵌套

    在Java语言中,接口可以嵌套在类或其它接口中.由于Java中interface内是不可以嵌套class的,所以接口的嵌套就共有两种方式:class嵌套interface.interface嵌套int ...

  8. vue动态配置嵌套页面(含iframe嵌套)可实现白天夜间皮肤切换

    引用地址:vue动态配置嵌套页面(含iframe嵌套)可实现白天夜间皮肤切换 - 长空雁叫霜晨月 - 博客园  项目预览地址:https://volodya-01.github.io/vue2.0_t ...

  9. oracle中嵌套函数,Oracle的嵌套函数语法

    Oracle的嵌套函数语法 单行函数可以嵌套任意层: 嵌套函数从最深层开始执行. 通用函数: BFILENAME(directory,file_name) 返回操作系统中与物理文件 file_name ...

  10. C语言嵌套函数封装替换,函数可以嵌套定义但不能嵌套调用吗,嵌套函数

    函数可以嵌套定义但不能嵌套调用吗一个函数可以被定义为嵌套的,但不能被称为嵌套的吗,不对,函数可以嵌套调用,但不能嵌套定义.在C语言中,所有函数都是并行的,即定义函数时相互独立,一个函数不从属于另一个函 ...

最新文章

  1. thinkphp5框架一小时搭建一个php后端(1)
  2. assembly x86(nasm)画三角形等图形的实现(升级版)
  3. php里面的mark,PHP CommonMarkCQL 用法 手册 | 示例代码
  4. 面向项目(十)—— 头文件、源文件的组织
  5. Android应用分析进阶教程之一- 初识JEBAPI
  6. 每当Xcode升级之后,都会导致原有的Xcode插件不能使用,解决办法
  7. CAN FD安全通信
  8. ERP原理及应用教程-第五章
  9. PS案例提升 【第1节】抠图--薄、透、露的朦胧美 案例二:扣取婚纱新娘
  10. 斜率、梯度(完全不一样的理解)
  11. 计算机取消健,电脑取消撤销快捷键是什么_电脑健盘中的所有英文组合意思超值解释建议收藏......
  12. [c语言]在程序中检测键盘按键
  13. Mysql 与 python 的使用
  14. 如何在 Linux 中创建并运行 Shell 脚本(Bash 初学者教程)
  15. 50岁的程序员还奋战一线,软件测试能干到多少岁?有年龄限制吗?
  16. postman接口关联
  17. JS中的DOM与BOM
  18. 模切行业选择ERP系统的方案
  19. html5+Css3 做一个婚纱网页
  20. 用javascript+jquery编写的小游戏-贪吃蛇(双人对战版)

热门文章

  1. matlab 2017 ubuntu,ubuntu安装matlab R2017,
  2. 使用gpu(gtx1080) cudnn 5.1下编译faster rcnn
  3. Linux2.6内核驱动与2.4的区别 .
  4. 手把手教会你小程序登录鉴权
  5. PHP实现二叉树的深度优先遍历(前序、中序、后序)和广度优先遍历(层次) 转载陈小龙哈2017...
  6. 在 Docker 上运行一个 RESTful 风格的微服务
  7. 向不支持输入法的软件输入中文
  8. public/private/protected/默认 的各种理论上的区别
  9. Android 编程下 java.lang.NoClassDefFoundError: cn.jpush.android.api.JPushInterface 报错
  10. 扩展语法检查(SLIN检查)