取消hibernate的双向维护,以及引用cascade="delete"
来源:互联网 发布:java list 查询条件 编辑:程序博客网 时间:2024/06/03 08:51
在现在的多个表关联的应用中,表与表的同时维护少不了。
下面是我在进行SSH应用中遇到的问题及一些解决方法。
表:
Client表(一)
Contact表(多)
在网页中,想通过维护或删除Client表中的对象时,同时将对应的Contact表中的关联对象进行维护或删除。下面将各个情况说一下。
1、进行修改维护
因为在Client表中进行修改它的名称时,也要将它反映到Contact表中。
但是在两个 cfg.xml参数表中没有设置的好话,就会出现Client表的名称修改了,但是在Contact表中的外键却变成了null的情况。
维护后
要在Client.cfg.xml中,set标签中加入inverse="true",加入后表示在client更新时,不对外键进行维护。只由contact表来维护。
这样就可以避免出现contact表出现外键变成null的情况了。
2、级联删除。
在代码里面,set集合中加入cascade="delete",表示在表Client中进行级联删除。这样只要在Client表中进行删除操作,与之关联的多个contact对象就会同时被删除。
####注意的是,不要只加入inverse =“true”,这样的话只是对修改起作用,但是进行删除的时候,Contact表中的外键数据就会丢失而出错。
阅读全文
0 0
- 取消hibernate的双向维护,以及引用cascade="delete"
- HIbernate级联删除(hibernate 双向一对多中 主表设置cascade="all-delete-orphan",在save时出现
- Hibernate中的双向多对一关联以及 inverse属性、cascade属性的用法
- 晕,hibernate 的 merge和cascade="all-delete-orphan"要慎重合在一起使用
- hibernate----Inverse 和 cascade区别 | cascade="all-delete-orphon" 总结
- Hibernate一对一双向关联映射以及相互引用toString()方法的错误原因
- Hibernate级联操作Cascade学之---delete
- hibernate cascade属性 all-delete-orphan
- hibernate cascade属性 all-delete-orphan
- hibernate cascade属性 all-delete-orphan
- Hibernate的Cascade属性以及和inverse的区别
- Hibernate中双向维护产生的多余sql问题
- hibernate里inverse与cascade标签的作用以及区别
- Hibernate Set Cascade Example (save, update, delete and delete-orphan)
- hibernate的级联----cascade
- Hibernate的cascade解释
- Hibernate的Cascade
- hibernate的cascade
- 基于Windows 10系统编译FFmpeg for UWP
- BZOJ 2724 蒲公英 (分块)
- Failed to read artifact descriptor--maven问题总结(能力工场)
- QT远程调试配置
- dubbo协议约束
- 取消hibernate的双向维护,以及引用cascade="delete"
- linux 下好用的 git 代码查看工具
- 2017.7.19 Race 思考记录
- 《深入理解JVM》内存模型
- shell的概述
- JavaPDF文件转图片
- Android应用程序框架层和系统运行库层日志系统源代码分析
- oracle 两个时间相减默认为天数
- python——asyncio模块实现协程、异步编程(一)