java - prepersist - ¿Podemos usar jpa sin hibernar?
@preupdate (6)
JPA se puede utilizar sin un proveedor de JPA, también conocido como Hibernate, EclipseLink, etc. solo si el servidor de aplicaciones ya tiene una implementación JPA. Lo más probable es que en los tutoriales haya visto demostraciones que se realizaron en dicho servidor de aplicaciones.
Soy nuevo en JPA.
Según mi entendimiento, JPA es una especificación e Hibernate implementa JPA y proporciona funciones adicionales junto con los métodos de JPA.
¡Pero estuve revisando los tutoriales de JPA, donde utilizando el objeto EntityManager
podemos realizar CRUD en los datos, sin usar las bibliotecas de Hibernate!
Entonces, ¿alguien puede por favor dejarme saber?
- ¿Puedo usar JPA solo usando los métodos de
EntityManager
, no usando Hibernate?
Por favor, mencione algún enlace o ejemplo útil.
Aprecio mucho la respuesta.
Gracias.
No puedes simplemente usar JPA, porque es una API =), pero hay muchas implementaciones de JPA:
Puede usar JPA solo sin usar Hibernate y Antes debe conocer los puntos principales entre Hibernate y JPA como se indica a continuación.
Hibernar
- Hibernate es un marco ORM que es compatible con ORM completo y también usa características JPA.
- El caché de segundo nivel está disponible, por lo que el rendimiento es muy bueno
- Su soporte .Net utilizando la herramienta NHibernate.
- Es generar HQL (Hibernate Query Language)
JPA
- JPA es parte de la especificación EJB que se lanza en J2EE 1.5 y se usará para java y J2EE
- El caché de segundo nivel no está disponible, por lo que el rendimiento no es bueno.
- No es compatible con .Net
- Su generar JPQL (Java Persistence Query Language)
- Por encima de cualquier proveedor de persistencia como Hibernate, podemos usar JPA.
Si no desea utilizar Hibernate (o cualquier otro proveedor de JPA), debe implementar su propio proveedor, proporcionando una implementación para la interfaz javax.persistence.spi.PersistenceProvider. La pregunta es, ¿por qué necesitas reinventar la rueda? Si no le gusta Hibernate, puede usar uno de los tantos otros proveedores de JPA para elegir
Tienes razón JPA es especificación. Hibernate, EclipseLink son dos de sus implementaciones.
Debe utilizar el proveedor de persistencia (Hibernate, EclipseLink) para poder utilizar la implementación JPA. Los proveedores de persistencia tienen las clases de implementación para las especificaciones JPA.
no se puede usar JPA por su cuenta. JPA es una especificación, que define una API para asignaciones relacionales de objetos y para administrar objetos persistentes y necesita un proveedor JPA para implementarla, como Hibernate, EclipseLink.