会话在Spring MVC中结束请求之前关闭,得到LazyInitializationException

时间:2015-11-29 13:52:10

标签: java spring spring-mvc

我正在接受LazyInitializationException错误,因为在myController中,当我读取Lazy集合会话时已经关闭。只要有请求,有没有办法让它打开?作为OpenSessionInView?什么是最好的方式?

我使用的是Spring Boot 1.3.0的版本

2 个答案:

答案 0 :(得分:0)

您需要使用“在视图中打开会话”以在会话结束后保持会话打开。

请参阅OpenSessionInViewFilterOpenEntityManagerInViewFilter了解JPA

imho它比将事务范围扩展到您的控制器更好。

答案 1 :(得分:0)

如果您使用jackson/hibernate组合,则可以注册jackson-datatype-hibernate模块,并根据自己的喜好调整Feature.FORCE_LAZY_LOADING属性。默认值为false表示仅序列化已获取的属性。更改为true将强制初始化惰性属性