为了避免使用
MultipleBagFetchException,而不是使用
FetchType.EAGER,请
@LazyCollection(LazyCollectionOption.FALSE)在本示例中尝试使用:
@ManyToMany@LazyCollection(LazyCollectionOption.FALSE)@JoinTable(name = "payitem_m_assig", joinColumns = @JoinColumn(name = "pay_item_id", nullable = e), inverseJoinColumns = @JoinColumn(name = "minor_pay_item_id", nullable = false))public Collection<MinorPayItemData> getMinorPaymentItem(){ return minorPaymentItem;}这是对docs的简短描述:
@LazyCollection:定义@ManyToMany和@OneToMany关联上的惰性选项。LazyCollectionOption可以为TRUE(集合是惰性的,并且在访问其状态时将被加载),EXTRA(集合是惰性的,并且所有操作都将尝试避免集合的装载,这对于在装入所有元素时对大型集合特别有用)不必要)和FALSE(关联不懒惰)
@Fetch:定义用于加载关联的获取策略。FetchMode可以是SELECT(需要加载关联时触发选择),SUBSELECT(仅适用于集合,使用子选择策略-请参考Hibernate参考文档以获取更多信息)或JOIN(使用SQL JOIN加载)加载所有者实体时关联)。JOIN会覆盖任何惰性属性(通过JOIN策略加载的关联不能是惰性的)。
希望对您有所帮助



