私はジュニアプログラマーであり、Java Persistence API(JPA)を利用するアプリケーションの開発を依頼されました。
最も人気のあるJPA実装(Hibernate、Toplink、EclipseLink)はどれですか
上記のいずれかをApacheTomcatで使用できますか、またはすべての実装が特定のサーバーアプリケーションに関連付けられていますか?
この主題のための良い入門書やチュートリアルはありますか?
私はジュニアプログラマーであり、Java Persistence API(JPA)を利用するアプリケーションの開発を依頼されました。
最も人気のあるJPA実装(Hibernate、Toplink、EclipseLink)はどれですか
上記のいずれかをApacheTomcatで使用できますか、またはすべての実装が特定のサーバーアプリケーションに関連付けられていますか?
この主題のための良い入門書やチュートリアルはありますか?
トップリンクを選択すると、あなたは解雇され、橋の下で安いウォッカを飲みながら日々を過ごし、あなたのキャリアはどのようなものだったのだろうと思います。
EclipseLinkについては良いことしか聞いていませんが、Hibernateには業界での使用が多く、JPA以外の機能がいくつかあると思います。
特にコンテナに依存するのではなく、Java APIの実装であるため、Tomcatですべてを使用できるはずです。
場合によります。どちらのソリューションも機能しますが、それぞれが独自の設計上の決定を下しており、ユーザーによっては、賛成または反対のどちらでも機能する可能性があります。
したがって、両方のテクノロジを使用して(それぞれに1週間を費やして)、シンプルでありながら完全なプロトタイプを実装して、どちらが自分に適しているかを確認することをお勧めします。完全な手段:必要になることがわかっている各ユースケース、特に複雑なユースケースを実装します。
ガイドラインとして、Hibernateにはより多くの機能があることがわかりましたが、EclipseLinkはより良いエラーメッセージを提供します->Linkの問題を修正するために費やす時間が少なくなりました。
一方、Hibernateにはより多くの機能が組み込まれているため、要件をコードに変換するために費やす時間が少なくなりました。機能を見つけて、その仕組みを理解し、奇妙なエラーメッセージが表示されてしまうことはありませんでした。数日間、困惑して輪になって走っていました。
Eclipse Linkはかつては商用製品だったので、ドキュメントの方が優れています。
これは非常に主観的な質問です。
Hibernateの方がまだ人気があると思いますが、最も人気のあるものが特定のタスクに常に最適であるとは限りません。
個人的には、ほとんどのプロジェクトでEclipseLink(TopLinkの後継)を使用します。これは、Eclipse Foundationによって駆動され、優れたドキュメントが付属する、優れたサポートと定期的なリリースを備えたJPAのリファレンス実装です。
EclipseLinkとHibernateの両方をすべてのアプリケーションサーバー(tomcatは完全に問題ありません)で使用でき、スタンドアロン(アプリケーションサーバーがまったくない場合)でも使用できます-JPA標準はそれを保証します。
実装固有のものを使用しない場合(およびJPAに固執する場合)、EclipseLinkをHibernateと交換することもできます(その逆も可能です)。ただし、これは非常に正当な理由でのみ行います。