Kategorier: Alla - datos - entidad - identidad - persistencia

av Andres COCK för 2 årar sedan

134

JPA

Java Persistence API (JPA) es una especificación estándar que facilita la interacción entre aplicaciones Java y bases de datos relacionales mediante el uso de objetos. La identidad persistente es un concepto crucial en JPA, donde cada entidad tiene un identificador único que la distingue de otras instancias en la base de datos.

JPA

JPA

¿Que es?

JPA es la propuesta estándar que ofrece Java para implementar un Framework Object Relational Mapping (ORM), que permite interactuar con la base de datos por medio de objetos, de esta forma, JPA es el encargado de convertir los objetos Java en instrucciones para el Manejador de Base de Datos (MDB).
proveedor mas usados son: - Hibernate - ObjectDB - TopLink - EclipseLink - OpenJPA
es una especificación y no un Framework como tal, ¿pero quiere decir esto exactamente?, pues bien, una especificación no es más que un documento en el cual se plasman las reglas que debe de cumplir cualquier proveedor que dese desarrollar una implementación de JPA, de tal forma que cualquier persona puede tomar la especificación y desarrollar su propia implementación de JPA, ¿Esto quiere decir que pueden existir muchas implementaciones de JPA? la respuesta es sí.
¿Para Que Sirve?

Transacciones

Resource Local • Indicar explícitamente la transaccionalidad mediante programación. • EntityTransaction ! begin, commit, rollback
JTA container • Usa técnicas de transaccionalidad del contenedor (p.e. transaccionalidad del contenedor EJB ‘required’)
tipos de transaccionalidad
Normalmente se crean, actualizan y borran dentro de una transacción, y se requiere una transacción para que los cambios se actualicen (commit) en la base de datos

Persistencia

Esto quiere decir que su estado puede volcarse un almacén de datos y que puede ser consultado con posterioridad. Una entidad, sin embargo, es persistente porque puede guardarse en un almacén persistente. La diferencia es que no se hace persistente automáticamente, sino que debemos invocar a algún método del API para iniciar el proceso.
es una clase de Java ligera, cuyo estado es persistido de manera asociada a una tabla en una base de datos relacional. Las instancias de estas entidades corresponden a un registro de una tabla.
Entidades de Persistencia

Tipos de acceso

El tipo de acceso que usará una entidad está definido por el lugar donde situemos sus anotaciones de mapeo. JPA permite definir dos tipos de acceso: • Acceso a variable (Field access) • Si las anotaciones están en los atributos • Acceso a propiedad (Property access) • Si las anotaciones de mapeo están en los métodos getter

Tipos insertables

son objetos que no tienen identidad, por lo que para ser persistidos deben ser primero insertados dentro de una entidad

Identidad

La identidad persistente, definida por el identificador (id) de la entidad, es la clave única que identifica a un instancia entidad y la diferencia de otras instancias del mismo tipo de entidad.
también

Una entidad tiene una identidad persistente cuando existe una representación de ella en el almacén de datos, esto es, una fila en una tabla de una base de datos. Si no está en la base de datos, entonces incluso aunque en memoria tenga su campo identidad definido, no tienen una identidad persistente.