问题概述
@oneToMany与@ManyToOne 关联
"一" 方注解如下:
@OneToMany(mappedBy = "conDataInfo",cascade=CascadeType.ALL,fetch=FetchType.EAGER)
@Cascade(org.hibernate.annotations.CascadeType.SAVE_UPDATE)
private List<ThirdPartyInfo> thirdPartyInfo;
"多"方注解如下:
@ManyToOne
@JoinColumn(name = "systemCode")
private ConDataInfo conDataInfo;
"一"方中共有三个与"多"方的关联关系.
在这种情况下,项目启动时报:cannot simultaneously fetch multiple bags:
解决方案
有两个解决方案:
第一种:将fetch=FetchType,EAGER改为fetch=FetchType,Lazy
这么改的话,项目可以启动,可以入库,但是在查询时有问题,查询时报"failed to lazily initialize a collection of role"异常.
第二种:将接收类型List改为Set
经测试,查询功能正常.
网友评论