使用OpenEntityManagerInViewFilter时为什么会出现LazyInitializationException? (使用Spring Roo)

时间:2012-08-27 18:01:22

标签: spring hibernate spring-security spring-roo lazy-initialization

我使用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

请指导我。我陷入了困境。

1 个答案:

答案 0 :(得分:0)

hibernate中的Lazy init是按需加载关系而不是在查询时加载关系的地方。 这通常更有效,因为这意味着主查询更简单。

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