天天看點

failed to lazily initialize a collection of

hibernate多對多關系,擷取資料的時候報“failed to lazily initialize a collection of”,在頁面的顯示“ognl.NoConversionPossible”。

在網上查了一下資料,原來是懶加載配置的問題,修改懶加載配置即可結局,原理暫時還不太了解。

xml配置方式

設定 lazy=”false”

例:

<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

例子:

//多對多
@ManyToMany(fetch=FetchType.EAGER)
//一對多
@OneToMany(  
   targetEntity = CourseAuthorizationItem.class,  
   cascade = {CascadeType.PERSIST, CascadeType.MERGE},  
   mappedBy = "course", fetch=FetchType.EAGER  
  )             

複制