JPA规范中,在一对多的双向关系中,多的一方为关系的维护端
1:m(双向)
关系被维护端 关系维护端(负责外键字段的更新)
主表 从表
public class Order{ public class OrderItem{
private Set<OrderItem> items; private Order order;
@OneToMany(cascade = @ManyToOne(cascade =
{ {
CascadeType.persist,保存 CascadeType.merge,更新
CascadeType.merge,更新 CascadeType.refresh,刷新
CascadeType.remove,删除
CascadeType.refresh,刷新
}, },
fetch = FetchType.LAZY, fetch = FetchType.立即加载(默认),
mappedBy= "order" optional = false 代表是否可选,相当于
只要出现mapped那么就是关系被维护端 数据库中是否可以为空
)
@JoinColumn(name = "order_id")外键名称
getItems(){} getOrder(){}
} }
1.在CascadeType中的类型分别对应EnityManager(实体管理器)中对应的方法。
2.在xxxxToxxxx中{
如果To后面是Many,加载方式为延迟加载,
如果To后面是One,加载方式为立即加载
}
JPA OneToMany双向关联
JPA一对多双向关系详解
最新推荐文章于 2021-03-08 16:10:29 发布
本文详细介绍了Java持久化API(JPA)中一对多双向关系的实现方式,重点讲解了如何通过@OneToMany注解配置关系维护端及CascadeType的作用,并解释了不同加载策略的应用场景。
989

被折叠的 条评论
为什么被折叠?



