(6)JPA - 映射单项一对多的关系

把customer里面的内容注释掉。
在这里插入图片描述
在customer里面添加orders , 再添加set和get方法。
在这里插入图片描述
在这里插入图片描述

运行如下代码:
在这里插入图片描述
保存成功了。
在这里插入图片描述
在这里插入图片描述

	//单向 1-n 关联关系执行保存时, 一定会多出 UPDATE 语句.
	//因为 n 的一端在插入时不会同时插入外键列. 
	@Test
	public void testOneToManyPersist(){
		Customer customer = new Customer();
		customer.setAge(18);
		customer.setBirth(new Date());
		customer.setCreatedTime(new Date());
		customer.setEmail("mm@163.com");
		customer.setLastName("MM");
		
		Order order1 = new Order();
		order1.setOrderName("O-MM-1");
		
		Order order2 = new Order();
		order2.setOrderName("O-MM-2");
		
		//建立关联关系
		customer.getOrders().add(order1);
		customer.getOrders().add(order2);
		
		order1.setCustomer(customer);
		order2.setCustomer(customer);
		
		//执行保存操作
		entityManager.persist(customer);

		entityManager.persist(order1);
		entityManager.persist(order2);
	}

可以使用 @OneToMany 的 fetch 属性来修改默认的加载策略

2 级联删除

@OneToMany 的 cascade 属性来修改默认的删除策略.
再删除1的时候,把多的那端也删除掉。

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

运行过后,发现删除成功。
在这里插入图片描述

3 修改值

在这里插入图片描述
运行过后,成功。
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值