Java进阶之hibernate中cascade与inverse
来源:互联网 发布:小美工作室淘宝真假 编辑:程序博客网 时间:2024/05/27 14:12
我们都知道的是cascade强调的是操作关联对象,inverse强调的是外键的维护权。在我们设置了级联操作后,在保存的时候就会级联保存另外的级联对象,而设置了inverse之后,如果两个对象之间有双向维护关系,就会在设置的一方放弃外键维护权,那它们两个共同使用的时候会产生什么结果呢?
我们可以通过一个简单的案例测试一下,就能得到结果,案例中customer与linkman为一对多关系,它们的映射文件配置截图如下:customer.hbm.xml中为:
linkman.hbm.xml中为:
测试代码如下:
public class TestDemo4 {@Testpublic void test(){Session session=HibernateUtils.getCurrentSession();Transaction transaction=session.beginTransaction();// 客户customer与联系人linkman为一对多关系Customer customer =new Customer();customer.setCust_name("客户1");LinkMan linkMan=new LinkMan();linkMan.setLkm_name("小李");//在Customer.hbm.xml中的set上配置cascade="save-update" inverse="true"customer.getLinkMans().add(linkMan);session.save(customer);transaction.commit();}}数据库中的customer表的内容显示:
linkman表的内容显示:
这个时候我们会发现,如果在set集合上配置cascade="save-update" inverse="true"了,那么执行保存客户的操作,会发现客户和联系人都进入到数据库中了,但是没有外键,是因为配置了cascade 了所以客户关联的联系人会进入到数据库中,但是客户一段放弃了外键维护权,所以联系人插入到数据会是没有外键的。
0 0
- Java进阶之hibernate中cascade与inverse
- hibernate中inverse与cascade
- Hibernate之inverse与cascade的使用
- Hibernate中cascade与inverse属性详解
- Hibernate中cascade与inverse属性详解
- Hibernate中cascade与inverse属性详解
- Hibernate中cascade与inverse属性详解
- Hibernate中inverse属性与cascade属性
- Hibernate中inverse属性与cascade属性
- Hibernate中inverse属性与cascade属性
- hibernate中cascade与inverse讲解
- Hibernate中inverse属性与cascade属性
- Hibernate中inverse属性与cascade属性
- Hibernate中inverse属性与cascade属性
- Hibernate中inverse属性与cascade属性
- Hibernate中cascade与inverse属性详解
- 详解Hibernate中cascade与inverse
- Hibernate 中 inverse cascade之我见
- 图像处理之积分图应用一(半径无关的快速模糊算法)
- RxJava详细解析
- Python 学习第三天
- JAVA基础再回首(二十七)——JAVA中的图形化界面、GUI概述、简单的窗体创建、事件监听机制、动作事件、GUI布局、鼠标事件
- Glide详细解析
- Java进阶之hibernate中cascade与inverse
- coderforces A. Broken Clock ——水题
- 主机和路由器有MAC地址原因
- ioc 与 DI | 区别简介
- 74.First Bad Version-第一个错误的代码版本(中等题)
- HDU5908【模拟】
- coderforces B. Verse Pattern 字符处理
- windows 7 Oracle 11g安装图解
- 第二章