JPA 実装として Hibernate をよく使用しました。ほとんどの場合、問題なく動作します。しかし、私は多くの落とし穴も見てきました。
- Hibernate は Java コレクションを独自のコレクション実装に置き換えるため、永続化されたオブジェクトを使用したリモート処理は困難です。したがって、すべてのクライアントには Hibernate .jar ライブラリが必要です。LazyLoading 例外などに注意する必要があります。この問題を回避する 1 つの方法は、Web サービスを使用することです。
- ダーティ チェックは、ロックなしでデータベースに対して実行されます。
- 「遅延 SQL」は、データ アクセスが ACID に準拠していない原因となります。(失われたデータ...)
- 暗黙の更新 >> したがって、オブジェクトが変更されているかどうかはわかりません (コミットによって更新が発生します)。
Toplink、Eclipse Link、および Ibatis に同様の問題はありますか? いつ使用する必要がありますか? 彼らは同様のパフォーマンスを持っていますか?Hibernate よりも Eclipse Link/Toplink を選択する理由はありますか?