on-session问题

.D:\0kecheng\bos\bosv2.0_chapter03.无条件查询.

方法1.@JSON(serialize=false)是注解排除不需要加载的实体类上,找到它的get方法,解决no-session问题.

方法2.只要在web.xml配置:不需要配置上面的@JSON了.(注意死循环问题)  A类用到B,设置set(null),设为空后就断掉循环了.

在hibernate使用Struts2的过滤器前面添加

<filter>
<filter-name>OpenSession</filter-name>
<filter-class>org.springframework.orm.hibernate3.support.OpenSessionInViewFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>OpenSession</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>

在Spring data jpa使用

<filter>
<filter-name>OpenEntity</filter-name>
<filter-class>org.springframework.orm.jpa.support.OpenEntityManagerInViewFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>OpenEntity</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>

 方法三:@Lazy(false)(效率较低,不建议使用)

 hibernate默认延迟加载  @Lazy(true).

如果需要将集合数据转换成json有三种方法:

第一种:在业务层手动查询数据 被加载

第二种:配置立即抓取

第三种:OpenEntityManagerInView配置文件.

 

posted @ 2017-12-16 17:10  无~所~谓  阅读(206)  评论(0编辑  收藏  举报