为啥在使用 OpenEntityManagerInViewFilter 时会出现 LazyInitializationException? (使用 Spring Roo)

Posted

技术标签:

【中文标题】为啥在使用 OpenEntityManagerInViewFilter 时会出现 LazyInitializationException? (使用 Spring Roo)【英文标题】:Why am I getting LazyInitializationException when using OpenEntityManagerInViewFilter? (using Spring Roo)为什么在使用 OpenEntityManagerInViewFilter 时会出现 LazyInitializationException? (使用 Spring Roo) 【发布时间】:2012-08-22 05:48:51 【问题描述】:

我已经使用 Spring Roo 生成了我的项目,并且没有接触过 xml 文件。

我要做的就是通过实体的 ITD 方法获取集合。

我收到以下错误:

    SEVERE: Servlet.service() for servlet MyProject threw exception
org.hibernate.LazyInitializationException: failed to lazily initialize a collect
ion of role: com.myproject.main.domain.Juser.securityRoles, no session or session
was closed

请指导我。我被困得很厉害。

【问题讨论】:

您是否使用com.myproject.main.domain.Juser 类进行身份验证?抛出异常时你登录了吗? 【参考方案1】:

休眠中的延迟初始化是它按需加载关系而不是在查询时加载的地方。 这通常更有效,因为这意味着主查询更简单。

有时您需要在会话关闭之前强制加载惰性 relp。 在这种情况下,您只需在查询完成后调用 relp 对象上的方法即可。

【讨论】:

以上是关于为啥在使用 OpenEntityManagerInViewFilter 时会出现 LazyInitializationException? (使用 Spring Roo)的主要内容,如果未能解决你的问题,请参考以下文章

为啥有人应该在 git commit 之前使用 git add?或者为啥有人应该使用 git add 呢?

为啥在 TCP 中使用 bind()?为啥它只用在服务器端而不用在客户端?

为啥或为啥不在 C++ 中使用 memset? [关闭]

为啥在 0-1 背包问题中我们使用 INT_MIN 以及为啥 0 不起作用

在 Java 7 ConcurrentHashMap 中,为啥在写的时候需要段锁?为啥我们不能再次使用 Unsafe 来保持非阻塞?

为啥在 hashCode 中使用素数?