首页 > 代码库 > Hibernate映射关系之一对多

Hibernate映射关系之一对多

1、双边使用的比较多,所以这里用双边的一对多:一个商店包含多个优惠券,一个优惠券对应一个商店

Store.java(商店)

    @OneToMany(mappedBy="store",cascade = {CascadeType.REMOVE })    private Set<Coupon> coupons=new HashSet<Coupon>();

(1)mappedBy="store"是在Coupon类中的Store的变量名称

(2)CascadeType.REMOVE表示当删除store会自动删除所包含coupon,

但是不能只靠store的id去删除,会出现外键错误,要先store=findById(id),然后删除store。

2、Coupon.java

    @ManyToOne(cascade = { CascadeType.REMOVE }, fetch = FetchType.EAGER)    @JoinColumn(name = "store_id")    private Store store;

Done