Java Spring Hibernate在Google应用程序引擎上引发LazyInitializationException异常
考虑实体Java Spring Hibernate在Google应用程序引擎上引发LazyInitializationException异常,java,spring,hibernate,google-app-engine,Java,Spring,Hibernate,Google App Engine,考虑实体 public class User { ... @OneToMany(cascade = CascadeType.ALL) List<SocialCredential> credentialsList = new ArrayList<SocialCredential>(); } 和控制器 @Controller public class DummyController { @Autowired UserDAO userDAO; public vo
public class User {
...
@OneToMany(cascade = CascadeType.ALL)
List<SocialCredential> credentialsList = new ArrayList<SocialCredential>();
}
和控制器
@Controller
public class DummyController {
@Autowired
UserDAO userDAO;
public void anyMethodAccessedByGetORPost(){
User u= userDAO.getUser(1L);
}
}
我的问题是,为什么实体用户的简单查询会自动触发查询来初始化SocialCredential的实体列表?最终导致LazyInitializationException。Google App Engine是否有任何问题。我在Apache Tomcat上尝试过同样的方法,它在不急于初始化实体列表SocialCredential的情况下启动了一个查询,并获得了成功。之后,我使用了本地Jetty服务器,并在将其部署到GAE服务器后进行了尝试,但是没有成功。我不想急于加载list SocialCredential。使用OpenSessionInViewFilter筛选器在筛选器级别打开会话。此后,您将不会出现此类错误。感谢您引入OpenSessionInViewFilter。
@Controller
public class DummyController {
@Autowired
UserDAO userDAO;
public void anyMethodAccessedByGetORPost(){
User u= userDAO.getUser(1L);
}
}