无道圣教主 2012-08-19
注解多对一删除时只执行多的一方而一不会改变
添加时考虑一的一方主键是否存在
// 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>();