2

明らかに、OpenJPA。EclipseLinkとHibernateについても言及しましたが、機能に大きな違いはありますか?

4

2 に答える 2

3

ほとんどの違いは、プロバイダーがOSGiをどのように認識しているかに起因します。たとえば、OSGiが自分でバンドルするときにHibernate jarをラップする必要がある場合があります(または、他の誰かがすでにラップしているセットを使用します-Web上にいくつか浮かんでいます)。

時折、プロバイダーはOSGi環境で機能しないような方法でクラスローディングを試みます。そのため、独自にラップするか、サポートされている主なプロバイダーの「ゲレンデ外」機能を使用する場合は、これに注意する必要があります。

また、プロバイダーが自身をOSGiサービスとして登録していることを確認する必要があります。これはOpenJPAでのみ機能し、AriesコードベースにはEclipseLinkアダプターがあります。人々が共有しているHibernateバンドルもこれを行うと思います。このスレッドには、他のプロバイダー(特にDataNucleus)に対してこれを行う方法についての説明があります。

http://www.mail-archive.com/aries-user@incubator.apache.org/msg00251.html

于 2012-04-15T07:17:06.767 に答える
1

私は実際にプロバイダーをテストしたので、理論的な答えは示していません。

AriesJPAバージョン1.0.0の場合

  • OpenJPAは機能します
  • Hibernateが機能しない
  • EclipseLinkは試していません

ここに記録された問題のため、Hibernateは機能しません: https ://issues.apache.org/jira/browse/ARIES-978

バンドルコンテキストが欠落しているため、基本的にデプロイメントは失敗します。AriesがOpenJPAのみをサポートしているのは、回帰テスト/サンプルにHibernateとEclipseLinkが含まれている場合までは安全だと思います。私はそれがいつ/起こるかを監視します。

于 2012-12-05T01:55:25.197 に答える