Avantages et inconvénients de choisir JDO ou JPA pour une application Grails qui s'exécutera sur Google AppEngine
Réponses
Trop de publicités?Je ne vois pourquoi vous choisissez JDO. Ne sais pas ce qu'est le "défaut" désigné par d'autres affiches. JDO est la banque de données agnostique. JPA n'est pas. JDO permet à des groupes de fetch. JPA n'est pas. JDO permet à la banque de données de l'identité. JPA n'est pas. JDO permet à la banque de données de transactions. JPA n'est pas. Tout cela est rendu public http://db.apache.org/jdo/jdo_v_jpa.html
JDO et JPA ne remplissez pas le même problème de l'espace. Ils se chevauchent uniquement pour les SGBDR. JPA est conçu uniquement pour les SGBDR.JPA n'est pas plus simple, comme en témoigne la comparaison des API http://db.apache.org/jdo/jdo_v_jpa_api.html
--Andy (DataNucleus)
Par la voie, Graal ses données de persistance de construire au-dessus de la veille prolongée. Comment pensez-vous JDO serait de vous aider en quelque chose de Hibernate va pas? Je ne vois pas pourquoi on devrait choisir de JDO sur la valeur par défaut.
Aussi loin que JPA, je vous recommande d'utiliser JPA, Hibernate mise en œuvre de la JPA qui vient à portée de main avec le Graal, et pas de mise en veille prolongée fonctionnalité spécifique, sauf convaincante.
[Plus pertinent après un changement significatif dans la question]
C'est parfaitement bien pour avoir les opérations CRUD dans votre entité elle-même. Mais il ya des cas où vous pouvez vous trouver d'exploitation sur plusieurs entités, dans ce cas, une couche est pratique et propre, à mon humble avis. De nouveau la question de l'exigence.
[N'est plus pertinent après un changement significatif en question]
Jetez un coup d'œil aux articles suivants:
http://www.infoq.com/news/2007/09/jpa-dao
Cela semble dépendre de la nature de votre application et de sa taille. JPA est plus simple, donc je m'en tiens à cela et j'essaie d'éviter une couche DAO dans votre application, à condition qu'il s'agisse d'une application relativement petite et simple.
Je pense que cette discussion peut compléter la réponse précédente d'Andy, même si elle peut être contradictoire. http://groups.google.com/group/google-appengine-java/browse%5Fthread/thread/d14e8b11f7b78a19