Hibernate的学习之路二十三(一对多的cascade取值和孤儿删除)

前言

这篇主要说明了cascade有什么取值,一级孤儿删除的定义。

分析

技术分析之级联的取值(cascade的取值)和孤儿删除

1. 需要大家掌握的取值如下
    * none                      -- 不使用级联
    * save-update               -- 级联保存或更新
    * delete                    -- 级联删除
    * delete-orphan             -- 孤儿删除.(注意:只能应用在一对多关系)
    * all                       -- 除了delete-orphan的所有情况.(包含save-update delete)
    * all-delete-orphan         -- 包含了delete-orphan的所有情况.(包含save-update delete delete-orphan)

2. 孤儿删除(孤子删除),只有在一对多的环境下才有孤儿删除
    * 在一对多的关系中,可以将一的一方认为是父方.将多的一方认为是子方.孤儿删除:在解除了父子关系的时候.将子方记录就直接删除。
    * <many-to-one cascade="delete-orphan" />

如果配置文件没有设置delete-orphan的情况下,是设置为null。
如果配置文件配置了delete-orphan的情况下,就是删除。

代码如下:


	/**
	 * 解除关系:从集合中删除联系人
	 */
	@Test
	public void run10(){
		Session session = HibernateUtils.getCurrentSession();
		Transaction tr = session.beginTransaction();
		// 先获取到客户
		Customer c1 = session.get(Customer.class, 1L);
		Linkman l1 = session.get(Linkman.class, 1L);
		// 解除
		c1.getLinkmans().remove(l1);
		tr.commit();
	}





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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值