2009-12-10 7 views
12

私は、リレーショナルデータを管理するためのJPA仕様の実装であるHibernate ORMを使用しています。私は同じことをやろうとしているJDOの仕様も聞いたことがある(リレーショナルデータを管理する)。JPAとJDOの仕様の違いは何ですか?

2つの基本的な違いは何ですか?ほとんどのコードサンプルが評価されました。 JDOは他のJavaテクノロジスタックとどのように統合しますか? EJB3

+0

関連:http://stackoverflow.com/questions/530215/hibernate-vs-jpa-vs-jdo-pros-and-cons-of-each –

+0

@matt - あなたからの質問私は答えが表示されません違いを与える。あなたは賛否両論について尋ねました、私は2つの仕様の違いを理解した上でそれらを評価しようとしていました。 – n002213f

答えて

11

は、これらの JDO-JPA FAQJDO or JPAJDO .v. JPAJDO .v. JPA - APIJDO .v. JPA - ORM

JDOは、JPAの前に長く存在していて、より広い範囲を持って試してみてください。 JPAはRDBMS専用であり、(JPA2でも)JDOが提供する完全なサポートを提供していません。このフォーラムのリンクやその他の投稿は、議論のすべての側面を説明するための十分な読書を提供する必要があります。 JPAはEJB CMPやJDOの以前の既存のJava永続性仕様を統一し、交換するために定義された

+0

JDOを他のスタックとどのように統合するかについての指針。 EJB3 – n002213f

+0

JDO実装(例:DataNucleus)にはJCAアダプタが付属していますので、その些細な – DataNucleus

+0

素晴らしい答えですが、FYIでは、最初の2つのリンクが死んでいます。 –

2

--Andy(DataNucleus)。 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、JPAをサポートするObjectDBなどのオブジェクト・データベースまで、非リレーショナル・プラットフォームでJPAをサポートする他の多くの製品もあります彼らのJava APIとして。

+2

GAEはキーとなるJDOをサポートするプラットフォームのようです。私はDataNucleusとどう違うのか分かりませんが、ここで質問を見ました... –

+1

JPA専門家グループには、RDBMS以外のデータストアベンダーの代理人は何人いますか?これは、非RDBMSデータストアに対してどれほど適切に設計されているかを表します。 – user383680

+1

これらの他のデータストアではJDBCは使用されていませんが、JPAは標準的なJPA手段によってデータストアへのアクセスを実際に提供するものではありません。 DataNucleusはjdbc.urlを介してデータをハックするようです。したがって、JPAがあなたが主張しているように他のデータストアをどのように満たすのか分かりません。 DataNucleusがJPAを提供すべきかどうかは議論の余地があります。 –

関連する問題