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