質問

で見つかったアドバイスを実装しようとしています MySQL を使用した grail でのバッチ処理に関するこの素晴らしいブログ投稿. 。私が抱えている問題は、ループに session.clear() への定期的な呼び出しを含めると org.hibernate.LazyInitializationException がスローされることです。ページのコメントセクションに引用があります。

あなたは、潜在的に嘘を引き起こすことについての2番目のポイントは絶対に真実です。現在のスレッドでインポート以外で他のことをしている場合は、クリアを行った後にセッションにオブジェクトを再装着することをお勧めします。

しかし、どうすればよいでしょうか?「クリアが完了した後にオブジェクトをセッションに再アタッチする」方法を具体的に理解できる人はいますか?

マルチコア プロセッサの利点を活用できるように、データベース挿入プロセスを並列化することにも興味があります。Grails でそれを行う方法についてアドバイスを提供できる人はいますか?

役に立ちましたか?

解決

Grails にはこれを支援する方法がいくつかあります (内部で休止状態を利用します)。

オブジェクトが切り離されていることがわかっている場合は、 付ける 再接続する方法です。

デタッチ中にオブジェクトに変更を加えた場合は、次を使用できます。 マージ.

何らかの理由で、オブジェクトがセッションにアタッチされているかどうかが不明な場合は、 リンクテキスト あるかどうかを調べる方法。

Hibernate のドキュメントを参照することも価値があるかもしれません。 セッション.

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top