Hibernate---inverse,cascade(2)

接上:

 

2、将inverse设置为false;将casecade设置为none,保持测试代码不变。

发出如下sql语句:

Hibernate: insert into tbranchinfo (address, depname, id) values (?, ?, ?)插入分支机构信息
Hibernate: update tseal set branchInfoId=? where id=?更新关联关系,但是并没有插入seal,原因在于cascade=none
于是会报异常如下
org.hibernate.TransientObjectException: object references an unsaved transient instance - save
the transient instance before flushing: com.indigopacific.iessportal.persistent.Seal
没有保存一个瞬时的seal对象

 

 

 

3、将inverse设置为true,将casecade设置为save-update,保存测试代码不变。

发出如下sql语句:

Hibernate: insert into tbranchinfo (address, depname, id) values (?, ?, ?)
Hibernate: insert into tseal (sealName, id) values (?, ?)

说明:

由于inverse=true将维护级联关系的任务交给了seal,因此当保存branchinfo时不会考虑级联关系。

只发出插入tseal的语句,不会更新级联关系。

 

 

4、将inverse设置为true,将casecade设置为none,保持测试带不变

发出如下sql语句:

Hibernate: insert into tbranchinfo (address, depname, id) values (?, ?, ?)

说明:
只会插入branchinfo信息,不会级联保存seal,不会更新关系

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值