以下の JPA 実装を利用しました。
- 冬眠、
- トップリンク、
- OpenJPA
それぞれに独自の長所と短所があります。Hibernate は 3 つの中で最も先進的であることがわかりましたが、Hibernate は独自の拡張機能のいくつかを JPA と混合していたため、他のプロバイダーへの切り替えが困難でした。最も重要なことは、JPA を解釈するときのクエリ パーサーがはるかに寛大であることです。すべての依存関係の適切なバージョンを取得しようとするのが使命であることがわかったため、休止状態をサポートするための適切なライブラリを取得するのが少し難しくなります。
Toplink は問題ありませんでしたが、オラクルが使用/購入を望んでいるように見えるため、少し不自由な感じが残っていますか? 彼らのより高度なライブラリ。jarファイルを実行してインストールする必要があるため、ダウンロードを試みることも使命でした. ベースの JPA 仕様のみを実装していることがわかりました。私がそれを使用した理由は、休止状態が他のオープンソースプロジェクトで一般的に使用されている多くのライブラリを使用していたため、特に JBoss を使用する場合にクラスローダーの問題が発生することがよくあるからです。
OpenJPA - これには最高のドキュメントがあり、ダウンロードして使用するのは簡単ですが、非常にバグが多いようです。たぶん私のコードだけかもしれませんが、CascadeType.all セットとの OneToMany 関係など、より高度な使用法を見つけたコードは機能していないようです。確かに、私のコードが間違っていた可能性があり、クリーンなケースをテストする時間はありませんでしたが、このような多くのインシデントにより、コードを使用するのが怖くなりました。良くなることを本当に願っています。そのエラー メッセージは、問題の解決に役立たないことがよくあります。
人々が使用した他のライブラリは何ですか? また、どのライブラリが好まれていますか? その理由は?