Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Spring Hibernate在Google应用程序引擎上引发LazyInitializationException异常_Java_Spring_Hibernate_Google App Engine - Fatal编程技术网

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);
  }
}