2
我使用Spring 3和Hibernate一起使用。我有一个用户请求在spring控制器中启动一个java线程,然后发送一个响应,所以当用户http响应已经发送时,线程可能会继续工作。Spring/Hibernate:为线程保持会话打开,还是打开一个新线程?
如果我在我的线程懒收藏工作,我得到以下错误:
org.hibernate.LazyInitializationException: failed to lazily initialize a collection of role: my.model.MyClass.lazyCollection, no session or session was closed
我读我可以使用同样,Hibernate.initialize(实体),以充分获取懒的集合,但我不能以此作为我正在线程中填充集合。此外,我试图使用merge(),但仍不能解决问题。
有没有办法手动保持会话打开或打开一个新的线程?
感谢您的帮助!
你是否在一个web应用程序,所以一个http请求是一个thred,或者你是别的吗? – Ralph 2011-01-19 15:34:11
是的,我在一个使用spring mvc的web应用程序。但是,除了请求线程外,我还自己创建一个请求线程。 – Erik 2011-01-19 15:45:37