Google AppEngine で実行される Grails アプリケーションに JDO または JPA を選択することの長所と短所
4 に答える
あなたが JDO を選ぶ理由がわかります。他の投稿者が言及している「デフォルト」とは何かわかりません。JDO はデータストアに依存しません。JPAはそうではありません。JDO ではグループを取得できます。JPAはそうではありません。JDO はデータストア ID を許可します。JPAはそうではありません。JDO はデータストア トランザクションを許可します。JPAはそうではありません。これはすべて公開記録です http://db.apache.org/jdo/jdo_v_jpa.html
JDO と JPA は同じ問題空間を埋めません。これらは RDBMS についてのみ重複します。JPA は RDBMS 用にのみ設計されています。http ://db.apache.org/jdo/jdo_v_jpa_api.html の API 比較で明らかなように、JPA は単純ではありません。
-- アンディ (DataNucleus)
AppEngine 用に構築している場合は、JDO を使用すると道が短くなり、問題が少なくなります。そうしないと、JDO エンジンの周りに JPA レイヤーができます。
ところで、Grails のデータ永続性は Hibernate の上に構築されています。JDO は、Hibernate が役に立たないことで、どのように役立つと思いますか? デフォルトではなく JDO を選択する理由がわかりません。
JPAに関する限り、Grailsで便利なJPAのHibernate実装を使用することをお勧めします.Hibernate固有の機能は、他にやむを得ない場合を除き、使用しないでください.
[問題が大幅に変更されたため、関連性がなくなった]
エンティティ自体で CRUD 操作を行うことはまったく問題ありません。ただし、複数のエンティティを操作していることに気付く場合があります。その場合、レイヤーが便利でクリーンになります。繰り返しますが、それは要件の問題です。