JoinColumn--

	/**
	 * 只对一的一方执行save, 多的一方级联保存, 要满足两个条件
	 * 1. Many的一方负责建立关联关系
	 * 2. ONE的一方负责级联保存,需要将Many的一方的list设置到ONE的一方
	 */
	@Transactional
	public void save() {

		OrderItem o = new OrderItem();
		//o.setDate(LocalDateTime.now());
		Item i1 = new Item();
		i1.setName("pingguo");
		i1.setOrderItem(o);//Many的一方负责建立关联关系
		Item i2 = new Item();
		i2.setName("yali");
		i2.setOrderItem(o);
		
		List<Item> items = new ArrayList<>();
		items.add(i1);
		items.add(i2);
		o.setItems(items);//ONE的一方负责级联保存
		orderDao.save(o);
	}
@Entity
@Table(name = "order_item")
@Setter
@Getter
@NoArgsConstructor
public class OrderItem {

	@Id
	@GeneratedValue(strategy=GenerationType.IDENTITY)
	private Long id;
	@Column(name = "time")
	private LocalDateTime date;
	@OneToMany(fetch=FetchType.EAGER, cascade=CascadeType.ALL, mappedBy="orderItem")
	private List<Item> items;
}
@Entity
@Table(name = "item")
@Getter
@Setter
@NoArgsConstructor
public class Item {

	@Id
	@GeneratedValue(strategy=GenerationType.IDENTITY)
	private Long id;
	private String name;
	@ManyToOne(fetch=FetchType.LAZY)
	@JoinColumn(name = "order_id")
	private OrderItem orderItem;
}

 

 

 

 

 

posted @ 2018-03-19 18:45  車輪の唄  阅读(10)  评论(0编辑  收藏  举报  来源