問題概述?
@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
經測試,查詢功能正常.