java – Hibernate Cascading Delete不按预期工作
发布时间:2020-12-14 19:14:16 所属栏目:Java 来源:网络整理
导读:我正在使用hibernate 3并尝试删除数据库中的记录,并且删除无法正常工作.模式hibernate正在反对(在伪代码中): create table Employer( employer_id number(12) primary key,employer_name varchar2(50));create table Employee( employee_id number(12) prim
我正在使用hibernate 3并尝试删除数据库中的记录,并且删除无法正常工作.模式hibernate正在反对(在伪代码中):
我的hibernate类映射看起来像:
现在有了这个配置我打电话:
发生的事情是:
并且提出了一个例外.我期待的结果是session.remove(..)调用是要删除的雇主记录,以及与雇主关联的所有员工记录以及与删除的员工记录关联的所有EmployeeRole记录.这是正确的假设吗?或者我在这里误解了一个关键概念? 最佳答案
级联all-delete-orphan应该可以解决您的问题.但是,它是Hibernate的一部分,而不是EJB标准.如果您想这样做并且不会陷入供应商的解决方案中,我建议您查看this article.
祝好运! 编辑:按照你的建议我将’mappedBy’属性添加到@OneToMany注释中,这似乎是使用inverse =“true”来指定拥有关系的注释方式.关系的相关变化部分如下所示:
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- Struts2 通过ognl表达式实现投影
- JDK容器类List,Set,Queue源码解读
- java – 打印给定数量的所有独特的因素组合
- java – 如何检查字符串是否是有效的XML元素名称?
- javafx-2 – 有没有办法在特定时间之后隐藏舞台?
- Java数据结构及算法实例:快速计算二进制数中1的个数(Fast
- java – 在Tomcat环境下无法获取MySQL的JDBC驱动程序
- java – 在StringBuffer append中为单字符值使用字符而不是
- java – 扫描计数返回显着少于dynamodb表的数字
- 亚马逊弹性搜索 – 使用JAVA SDK与Amazon Elasticsearch服务