Soy nuevo en el mundo de Java y JPA. Estaba estudiando JPA y encontré muchos términos nuevos como Entidad, persistencia. Mientras leía, no pude entender la definición exacta de contexto de persistencia .
¿Alguien puede explicarlo en términos simples y profanos? ¿Qué tiene que ver con los datos utilizados en el @Entity
?
Por ejemplo, encuentro esta definición demasiado complicada de entender:
Un contexto de persistencia es un conjunto de entidades de modo que para cualquier identidad persistente hay una instancia de entidad única.
fuente
fuente
Tomado de esta página:
Aquí hay una hoja de trucos rápida del mundo JPA:
fuente
Un contexto persistente representa las entidades que contienen datos y están calificadas para ser persistentes en algún almacenamiento persistente como una base de datos. Una vez que realizamos
commit
una transacción en una sesión que tiene estas entidades adjuntas, Hibernate vacía el contexto persistente y los cambios ( insertar / guardar, actualizar o eliminar ) persisten en el almacenamiento persistente.fuente
Tanto la
org.hibernate.Session
API como lajavax.persistence.EntityManager
API representan un contexto para tratar con datos persistentes.Este concepto se denomina contexto de persistencia . Los datos persistentes tienen un estado en relación tanto con un contexto de persistencia como con la base de datos subyacente.
fuente
"Un conjunto de instancias persistentes (de entidad) administradas por una instancia de administrador de entidades en un momento dado" se denomina contexto de persistencia.
La anotación JPA @Entity indica una entidad persistente.
Consulte la definición de JPA aquí
fuente
En términos sencillos, podemos decir que el contexto de persistencia es un entorno en el que se gestionan las entidades, es decir, sincroniza "Entidad" con la base de datos.
fuente
Si bien @pritam kumar ofrece una buena descripción general, el quinto punto no es cierto.
https://blogs.oracle.com/carolmcdonald/entry/jpa_caching
EntityManager de JPA y Session de Hibernate ofrecen un contexto de persistencia extendido.
fuente
El contexto de persistencia es un entorno o caché donde las instancias de entidades (que son capaces de almacenar datos y, por lo tanto, tienen la capacidad de persistir en una base de datos) son administradas por Entity Manager . Sincroniza la entidad con la base de datos. Todos los objetos que tienen la anotación @Entity son capaces de ser persistido. @Entity no es más que una clase que nos ayuda a crear objetos para comunicarnos con la base de datos, y la forma en que los objetos se comunican es mediante métodos, y quien proporciona esos métodos es el Entity Manager.
fuente