query - ¿Diferencia entre JPA y JDO?
namedqueries spring (5)
Dado que GAE BigTable no es un RDBMS, JDO es una mejor opción. Hay algunos artículos de comparación detallados en Aphache JDO , son útiles para mí.
Quiero desarrollar mi proyecto en Google App Engine. Quiero usar Google Big Table como base de datos. Para la base de datos tengo dos opciones JPA y JDO. ¿Ustedes por favor me sugieren en esto? Ambos son nuevos para mí y necesito aprenderlos. Así que me centraré en uno después de sus respuestas.
JPA es el principal estándar de Java para la persistencia. Así que diré que use JPA si está utilizando RDBMS y requiere ORM.
Hibernate se utiliza generalmente como implementación de JPA. Si necesita algunas funciones adicionales, puede utilizar las anotaciones específicas de hibernación.
Esta pregunta ya parece discutirse aquí JDO vs JPA para Java en Google App Engine
JPA hace que los objetos java consigan datos relacionales a través de ORM, mientras que JDO es una especificación más general para la persistencia de objetos java. Por lo tanto, el uso de JDO le dará más libertad en las opciones de implementación de almacenamiento para sus objetos.
Una diferencia clave es que JDO admite un modelo de dominio enriquecido (lógica junto con datos), de hecho, todas las clases persistentes pueden tener una referencia al PersistenceManager actual, realizar consultas y, supongo, es posible que no haya campos persistentes de forma predeterminada.
JPA no admite dicho diseño de software. De hecho, cada Entidad no tiene una referencia al PersistenceManager, para tenerlo debe recurrir a las variables ThreadLocal, que no es una solución muy elegante y robusta.
Ya que estás usando Data Nucleus, consulta sus preguntas frecuentes sobre JDO vs JPA. http://www.datanucleus.org/products/accessplatform_3_0/jdo_jpa_faq.html
DataNucleus AccessPlatform admite las especificaciones JDO y JPA de la persistencia de Java. Como tal, no tiene "interés personal" en ninguna de las dos tecnologías, creyendo que es para los usuarios elegir cuál les gusta más. Ha habido mucho FUD en la web sobre JDO y JPA, en gran parte perpetrado por proveedores de RDBMS. Esta FAQ corrige muchos de estos puntos