@OneToMany(mappedBy = "customer",cascade = {CascadeType.ALL},fetch = FetchType.LAZY)
private Collection<CartItem> cartItems;
@OneToMany(mappedBy = "customer",cascade = {CascadeType.ALL},fetch = FetchType.EAGER)
private Collection<BookOrder> orders ;
@OneToMany(mappedBy = "customer",cascade = {CascadeType.ALL},fetch = FetchType.LAZY)
private Collection<CartItem> cartItems;
@OneToMany(mappedBy = "customer",cascade = {CascadeType.ALL},fetch = FetchType.EAGER)
private Collection<BookOrder> orders ;
(1)在用JPA进行注释时,如果一个实体里要映射多个集合实体时,我们不能把两个集合的的FetchType设置为EAGER,此时只能设置为LAZY,否则 会报:cannot simultaneously fetch multiple bags。或者我们也可以借助:@IndexColumn
(2)
在其中一个集合的get方法上使用如下注解:
@Fetch(FetchMode.SUBSELECT)
如:
@OneToMany(mappedBy = "regBean", cascade =
{ CascadeType.ALL }, fetch = FetchType.EAGER)
@Fetch(FetchMode.SUBSELECT)
public List<WishWordsBean> getWishWordsList()
{
return wishWordsList;
}
(3) 把List修改成Set集合
(2)
@Fetch(FetchMode.SUBSELECT)
如:
(3) 把List修改成Set集合