failed to lazily initialize a collection of

2020-04-09 15:20:14 浏览数 (1)

hibernate多对多关系,获取数据的时候报“failed to lazily initialize a collection of”,在页面的显示“ognl.NoConversionPossible”。

在网上查了一下资料,原来是懒加载配置的问题,修改懒加载配置即可结局,原理暂时还不太了解。

xml配置方式 设置 lazy=”false” 例:

代码语言:javascript复制
     <many-to-one name="childQuestion" class="com.newland.netsurvey.model.Question" lazy="false" fetch="select">
        <column name="childQuestionId" />
     </many-to-one>

@注解方式 在NtoN的括号里添加 fetch=FetchType.EAGER 例子:

代码语言:javascript复制
//多对多
@ManyToMany(fetch=FetchType.EAGER)
//一对多
@OneToMany(  
   targetEntity = CourseAuthorizationItem.class,  
   cascade = {CascadeType.PERSIST, CascadeType.MERGE},  
   mappedBy = "course", fetch=FetchType.EAGER  
  )  

0 人点赞