ここに他の同様の質問がありますが、私はすべての問題に対処しているものは見当たりませんでした。基本的に私は、HibernateでバックアップされたJPAを使用してJ2EEアプリケーションでデータアクセスとサービスレイヤーを設計することに取り組んでいます。JPAとHibernateで効率的なバッチ/バルク挿入を行うための確実な方法はありますか?
アプリケーションは大量のデータロード/更新操作を実行するため、これらの操作ができるだけ効率的にデータベースに取り込まれるようにしたいと考えています。正解は、挿入、更新のためのデータの大規模なコレクションを消費し、理想的
- が尊重された構成またはコードでバッチサイズを設定し、どのように使用したものにコーディングするマージする方法コード、で、説明しますJPA(可能であれば生のHibernateを使用しない)
- 効率的なメモリー/ 1次/ 2次レベルのキャッシュ使用を保証するためにJPAトランザクション・コマンド/注釈を使用する方法と時期。
- これは、Hibernateが、ID識別子ジェネレータを使用する場合、JDBCレベルでバッチ処理を透過的に挿入を無効にすることを意味します。これはプライマリ識別子のシーケンスを使用することに関連していますか?
- 私が知っておくべきなんらかの落とし穴。:私はHibernateとJ2EE/JPAについてのいくつかの関連質問をしてきましたし、あなたがこれらに追加する何かを持っている場合
どちらが私には比較的新しい技術(私の他の質問を参照)されているようにしてください
注意
How should EntityManager be used in a nicely decoupled service layer and data access layer?
と
Should raw Hibernate annotated POJO's be returned from the Data Access Layer, or Interfaces instead?
すばらしい説明、ありがとう – Peter