hibernate注解一对多、多对一
程序员文章站
2022-04-14 21:50:22
...
注解 多对一删除时 只执行多的一方而一不会改变
添加时考虑 一的一方主键是否存在
注解 一对多删除时 级联删除
添加时不考虑子项
添加时考虑 一的一方主键是否存在
// cascade表示级联操作
// CascadeType.MERGE级联更新
// CascadeType.PERSIST级联刷新
// CascadeType.REFRESH级联保存
// CascadeType.REMOVE级联删除
//CascadeType.ALL:以上四种都是
//fetch有两种 FetchType.EAGER 懒加载
// FetchType.LAZY 立即加载
// optional它的值为true表示该外键可以为null,
// 它的值为false表示该外键为not null
// JoinColumn表示外键的列
@ManyToOne(cascade= {CascadeType.PERSIST,CascadeType.MERGE},fetch=FetchType.EAGER,optional=false)
@JoinColumn(name="id")
private UserVo uv;
注解 一对多删除时 级联删除
添加时不考虑子项
// mappedBy="uv" mappedBy指定的是不需要维护关系的一端
//请检查orderItems这个属性是否使用了泛型,如:Set<Student>.
//如果未使用泛型,请在注释中使用targetEntity指定元素的类型
@OneToMany(cascade=CascadeType.ALL,fetch=FetchType.LAZY,mappedBy="uv")
private Set<Content> u_c=new HashSet<Content>();