2009-06-15 12 views
36

Pro e contro di scegliere JDO o JPA per un'applicazione Grails che verrà eseguita su Google AppEngineAppEngine Java: JDO o JPA, Come scegliere?

+2

Avete per caso inteso JDO o JPA? –

+0

Corretto, grazie – zotherstupidguy

+0

questo spiega JDO vs APP per il motore java Google App - http://stackoverflow.com/questions/1418219/jdo-vs-jpa-for-java-on-google-app-engine –

risposta

3

A proposito, Grail ha la sua persistenza di dati costruita sopra Hibernate. Come pensi che JDO ti possa aiutare in qualcosa che Hibernate no? Non vedo perché si dovrebbe scegliere JDO rispetto al valore predefinito.

Per quanto concerne APP, consiglio di utilizzare JPA, Hibernate attuazione JPA che viene portata di mano con Grails, e non una delle caratteristica specifica di sospensione, se non diversamente convincente.

[Non più rilevante dopo un cambiamento significativo in questione]

Questo è perfettamente bene di avere operazioni CRUD nella tua entità stessa. Ma ci sono casi in cui potresti trovarti a operare su più entità, in tal caso un livello è pratico e pulito, IMHO. Ancora una volta, è la questione del requisito.

+1

hibernate non funziona con GAE in modo da essere bloccato utilizzando una qualche forma di JDO o JPA –

2

[non è più rilevante dopo un cambiamento significativo in questione]

Date un'occhiata ai seguenti articoli:

http://www.infoq.com/news/2007/09/jpa-dao

suona come molto dipende dalla natura della vostra applicazione e la dimensione di esso. JPA è più semplice quindi rimango fedele a questo e cerco di evitare un livello DAO nell'applicazione, purché si tratti di un'applicazione abbastanza piccola e semplice.

+0

Nice link, Jon. +1 –

43

I do vedere perché scegliere JDO. Non so quale sia il "default" a cui si riferisce l'altro poster. JDO è datastore-agnostico. JPA non lo è. JDO consente di recuperare i gruppi. JPA no. JDO consente l'identità del datastore. JPA no. JDO consente transazioni di archivio dati. JPA no. Tutto questo è record pubblico http://db.apache.org/jdo/jdo_v_jpa.html

JDO e JPA non riempiono lo stesso spazio problema. Si sovrappongono solo per RDBMS. APP è progettato solo per RDBMS.JPA non è semplice, come dimostra il confronto API a http://db.apache.org/jdo/jdo_v_jpa_api.html

--Andy (DataNucleus)

7

Se si sta costruendo per AppEngine la strada è più breve e ci sono meno singhiozzo se usi JDO. Altrimenti, avrai uno strato JPA attorno al tuo motore JDO.

Problemi correlati