web-dev-qa-db-ja.com

MongoDBを使用するときにJPAが必要ですか?

私はそれらの2つの間でかなり混乱しています。私はプレイを見ています! Javaフレームワークで、JPAを使用していると表示されます。プロジェクトで初めてPlay!とMongoDBを使用することを考えています。以前はJPAを使用していましたが、当時は使用していました。リレーショナルデータベース(mysql)に書き込みます。

MongoDBはリレーショナルデータベースではないので、Play!で使用したい場合でも、JPAは必要ですか?それともMongoDBドライバーだけですか?

私はここでかなり多くのことを混乱させていると思うので、誰かが物事を明確にするのを手伝ってくれるなら、私はそれをいただければ幸いです!

24
user393964

PlayはJPAをサポートしていると思いますが、JPAは必要ありません。 JPAを完全に忘れて、MongoDBへの任意のAPI(ネイティブAPI、BrendanによるMorphiaの提案など)を使用できます。

14
Tom Anderson

MongoDBはリレーショナルデータベースではないため、JPAをサポートしていません。

ただし、 Morphia 、MongoDBのオブジェクトドキュメントマッパー+ Javaは、JPAモデルを厳密にエミュレートしますが、MongoDBの適切なセマンティクスを使用します。Playおよびこの種のオブジェクトマッピングが必要な場合は、優れたアナログになります。

9

DataNucleusは、Javaで標準化されたAPIであるJPAおよびJDO用のMongoDBをすでにサポートしています。これにより、他のAPIとは異なり、移植性があります

4
DataNucleus

EclipseLinkは、JPAからのMongoDBのサポートを計画しています。

参照してください http://wiki.Eclipse.org/EclipseLink/DesignDocs/362899

3
James

HibernateOGMはMongoDBにJPAを提供します。 MongoDB大学には、Java開発者向けのコースがあります。これは、やりたいことを理解するのに役立つかもしれません。

2
Carlos Xaxim

MongoDBのみにプログラミングする場合は、JPAは必要ありません。ただし、以前にJPAを使用したことがある場合は、PlayMorphiaモジュールの使用を検討する必要があります。APIはJPAプログラマーが自宅でプログラミングしているように感じるように注意深く設計されているためです。繰り返しますが、PlayMorphiaはJPA実装ではなく、そのように見えます。

http://www.playframework.org/modules/morphia でチェックしてください。また、最新バージョンの ドキュメント

1
Gelin Luo