您的位置:首页 > Web前端 > JavaScript

转换json关联集合运行时出现懒加载问题解决方案

2017-11-06 14:06 375 查看
转换json 关联集合问题

运行时出现问题:出现懒加载异常

 

问题原因


 
如果需要将集合数据转换为json返回 

第一种:在get方法上添加@JSON(Serialize=false)注解,在转json的过程中忽略该属性。
@JSON(serialize=false)
public List<InOutStorageInfo> getInOutStorageInfos() {
return inOutStorageInfos;
}
第二种:在业务层(即Session关闭之前)手动查询数据 被加载 

第三种:配置立即抓取 (在实体中配置@LazyCollection,表示立即检索),查询TransitInfo对象的同时,立即查询InOutStorageInfo的对象。

@OneToMany
@JoinColumn(name = "C_TRANSIT_INFO_ID")
@OrderColumn(name = "C_IN_OUT_INDEX")
@LazyCollection(LazyCollectionOption.FALSE)
private List<InOutStorageInfo> inOutStorageInfos = new ArrayList<InOutStorageInfo>();

第四种(选择使用): 使用spring提供的OpenSessionInViewFilter的过滤器,如果使用spring的jpa,可以使用OpenEntityManagerInViewFilter的过滤器。这里注意:需要放置到struts2的过滤器的前面 
<!-- 解决懒加载的问题,该过滤器放置到struts2的过滤器的前面 -->
<filter>
<filter-name>OpenEntityManagerInViewFilter</filter-name>
<filter-class>org.springframework.orm.jpa.support.OpenEntityManagerInViewFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>OpenEntityManagerInViewFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐