一尘不染

在带有jpa / hibernate的Spring中,如何保持会话打开以避免懒惰的初始化异常?

hibernate

我目前将实体Bean中的集合标记为渴望避免在使用EntityManager加载Bean之后尝试访问集合属性时避免出现惰性初始化异常。

如果我将集合留为延迟加载,如何保持会话打开?我曾考虑过尝试@Transactional,但即使这样行​​之有效,我也不想这样做,因为在较长的时间范围内保持事务开放似乎不正确。


阅读 228

收藏
2020-06-20

共1个答案

一尘不染

https://www.hibernate.org/43.html

基本上,您有几种选择。

-您可以使用“在视图中打开会话”模式,其中使用过滤器/拦截器/ AOP样式逻辑在服务器端逻辑开始时打开会话,并在通过时关闭会话。

-您可以实现跨越几个请求-响应周期的对话。

普通的旧Servlet筛选器是最简单的。

2020-06-20