明らかに、OpenJPA。EclipseLinkとHibernateについても言及しましたが、機能に大きな違いはありますか?
2 に答える
ほとんどの違いは、プロバイダーがOSGiをどのように認識しているかに起因します。たとえば、OSGiが自分でバンドルするときにHibernate jarをラップする必要がある場合があります(または、他の誰かがすでにラップしているセットを使用します-Web上にいくつか浮かんでいます)。
時折、プロバイダーはOSGi環境で機能しないような方法でクラスローディングを試みます。そのため、独自にラップするか、サポートされている主なプロバイダーの「ゲレンデ外」機能を使用する場合は、これに注意する必要があります。
また、プロバイダーが自身をOSGiサービスとして登録していることを確認する必要があります。これはOpenJPAでのみ機能し、AriesコードベースにはEclipseLinkアダプターがあります。人々が共有しているHibernateバンドルもこれを行うと思います。このスレッドには、他のプロバイダー(特にDataNucleus)に対してこれを行う方法についての説明があります。
http://www.mail-archive.com/aries-user@incubator.apache.org/msg00251.html
私は実際にプロバイダーをテストしたので、理論的な答えは示していません。
AriesJPAバージョン1.0.0の場合
- OpenJPAは機能します
- Hibernateが機能しない
- EclipseLinkは試していません
ここに記録された問題のため、Hibernateは機能しません: https ://issues.apache.org/jira/browse/ARIES-978
バンドルコンテキストが欠落しているため、基本的にデプロイメントは失敗します。AriesがOpenJPAのみをサポートしているのは、回帰テスト/サンプルにHibernateとEclipseLinkが含まれている場合までは安全だと思います。私はそれがいつ/起こるかを監視します。