12

私は Hibernate ORM を使用しています。これはJPA仕様の実装であり、リレーショナル データを管理します。また、同じことを行う (リレーショナル データを管理する) JDO仕様についても聞いたことがあります。

両者の根本的な違いは何ですか?どんなコードサンプルでも大歓迎です。JDOは、 EJB3などの他の Java テクノロジ スタックとどのように統合されますか?

4

2 に答える 2

11

これらのJDO-JPA FAQJDO または JPAJDO .vを試してください 。JPAJDO .v。JPA - APIJDO .v。JPA-ORM

JDO は JPA よりずっと前に存在し、より広い範囲を持っています。JPA は RDBMS 専用であり、(JPA2 でも) JDO が提供する完全なサポートを提供しません。このフォーラムのリンクやその他の投稿は、議論のあらゆる側面を説明する十分な読み物を提供するはずです。

-- アンディ ( DataNucleus )

于 2009-12-10T06:29:12.450 に答える
2

JPA は、EJB CMP および JDO の以前の既存の Java 永続性仕様を統合して置き換えるために定義されました。JPA は EJB 3.0 の一部としてリリースされ、Oracle WebLogic、IBM Websphere、Redhat JBoss、およびその他の Java EE プロバイダーによってサポートされる Java EE 仕様の一部です。

JPA (TopLink/EclipseLink、Hibernate、OpenJPA、DataNucleus) をサポートする主要な製品は多数ありますが、JDO や CMP をサポートする製品はほとんどありません。したがって、JPA は両方をうまく置き換えたようです。

JPA が RDBMS のみであるということは、まったく誤りです (私が知っている唯一の JDO 製品である DataNucleus でさえ、JDO をサポートする非リレーショナル プラットフォームで JPA をサポートします)。

EclipseLink の NoSQL および EIS サポート (MongoDB、Oracle NoSQL、XML、レガシー データベース)、Kundera、DataNucleus、Java API として JPA をサポートする ObjectDB などのオブジェクト データベースなど、非リレーショナル プラットフォームで JPA をサポートする他の多くの製品もあります。 .

于 2012-03-19T15:09:54.280 に答える