欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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>();