私はSpring 3をHibernateと共に使用しています。私は、春のコントローラで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リクエストが発生していますか、それとも何か他のことをしていますか? – Ralph
はいspring mvcを使用したWebアプリケーションです。しかし、リクエストスレッドに加えて、自分で作成しています。 – Erik