voglio sviluppare il mio progetto su Google App Engine. Voglio usare google big table come database. Per il database ho due opzioni JPA e JDO. Per favore, ragazzi, per favore suggeritemi? Entrambi sono nuovi per me e ho bisogno di impararli. Quindi mi concentrerò su uno dopo le tue risposte.Differenza tra JPA e JDO?
risposta
Dal momento che si sta utilizzando dati Nucleus, vedere il loro FAQ sul JDO vs APP. http://www.datanucleus.org/products/accessplatform_2_1/jdo_jpa_faq.html
DataNucleus AccessPlatform supporta entrambe le specifiche JDO e JPA di Java persistenza. In quanto tale, non ha "interessi personali" in nessuna delle due tecnologie, ritenendo che sia per gli utenti scegliere quale preferiscono. C'è stato molto FUD sul web su JDO e JPA, in gran parte perpetrato dai venditori di RDBMS. Questa FAQ corregge molti di questi punti
JPA è lo standard java leader per la persistenza. Quindi dirò di usare JPA se stai usando RDBMS e richiedi ORM.
Hibernate viene generalmente utilizzato come implementazione JPA. Se hai bisogno di alcune funzionalità extra puoi usare le annotazioni specifiche di ibernazione.
Questa domanda sembra già essere discusso qui JDO vs JPA for Java on Google App Engine
Ma voglio usare google datastore (grande tabella) utilizzando Data Nucleus. Ciò che seguo JPA o JDO – user246160
Hibernate può essere "generalmente utilizzato come implementazione JPA" ma funziona solo per RDBMS, e di conseguenza non funzionerà GAE/J. Come per i documenti per GAE/J, JDO si avvicina di più a quello datastore, anche se i modelli di persistenza sono semplici e anche i requisiti di query sono semplici, quindi è possibile utilizzare anche JPA. Con JDO o JPA l'utente dovrà utilizzare DataNucleus – DataNucleus
Una differenza chiave è che JDO supportare un ricco modello di dominio (logica insieme ai dati), infatti tutte le classi persistenti può avere un riferimento alla corrente PersistenceManager, le query di emissione e, Immagino, è possibile non avere campi persistenti per impostazione predefinita.
JPA non supporta tale progettazione software. Infatti ogni Entità non ha un riferimento al PersistenceManager, per averlo bisogna ricorrere alle variabili ThreadLocal, che non è una soluzione molto elegante e robusta.
Poiché GAE BigTable non è un RDBMS, JDO è una scelta migliore. Ci sono alcuni articoli di confronto dettagliati in Aphache JDO, è utile per me.
JPA persegue gli oggetti java sui dati relazionali tramite ORM, mentre JDO è una specifica più generale per la persistenza degli oggetti java. Quindi usare JDO ti darà più libertà nelle opzioni di implementazione dello storage per i tuoi oggetti.
- 1. AppEngine Java: JDO o JPA, Come scegliere?
- 2. primavera dati JPA differenza tra findBy/findAllBy
- 3. Differenza tra unirsi e navigazione percorso nella query JPA
- 4. Qual è la differenza tra PESSIMISTIC_READ e PESSIMISTIC_WRITE in JPA?
- 5. Qual è la differenza tra @Entity in Hibernate e JPA
- 6. Differenza tra annotazioni Cascade JPA e annotazione Hibernate Cascade
- 7. Differenza tra JTA e Spring @Transazioni transazionali
- 8. JPA mappatura @ManyToOne tra Embeddable e EmbeddedId
- 9. La differenza tra $ * e $ @
- 10. Differenza tra $ # e $ {# @}
- 11. Differenza tra. e #
- 12. MySQL: Differenza tra ",", "e"
- 13. Differenza tra "o" e "||"
- 14. Differenza tra unwrapObservable e()
- 15. Differenza tra oggetto e *?
- 16. Differenza tra "**/* /" e "** /"?
- 17. Differenza tra jquery e $
- 18. CMake: differenza tra $ {} e "$ {}"
- 19. Differenza tra ". +" E ". +?"
- 20. VBA: Differenza tra & e +
- 21. Differenza tra numpy.logical_and e &
- 22. Differenza tra | = e^= css
- 23. Differenza tra `% in%` e `` ==
- 24. Spring Data-JPA contro JPA: qual è la differenza?
- 25. Usa JDO in Android
- 26. Differenza tra repository e livello di servizio
- 27. Qual è la differenza tra FETCH e LOAD per il grafico Entità di JPA?
- 28. Differenza tra Dizionario e Hashtable
- 29. Differenza tra SCM e SVN
- 30. differenza tra RDLC e SSRS
Il collegamento è di nuovo morto. –