Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Desarrollo JPA
Desarrollo JPA
Java Persistence API (JPA) proporciona un modelo de persistencia basado en POJO's para mapear bases de datos relacionales en Java. POJO son las iniciales de "Plain Old Java Object", que puede interpretarse como "Un objeto Java Plano y a la Antigua". Un POJO es una instancia de una clase que no extiende ni implementa nada en especial
MAPEO DE DEFAULT
El nombre de la tabla es por default igual a la de la Clase Entidad. Se puede cambiar con la anotacin @Table.
@Entity @Table(name = "Customer") public class Cliente { L }
La llave primaria proporciona identidad a la Clase Entidad Tpicamente son Strings o enteros, pero pueden tambin ser objetos de otras clases que corresponden a varias columnas de la tabla que representan Cada Clase Entidad debe tener una llave primaria Se marcan con la anotacin @Id Pueden ser autoincrementables.
Por ejemplo: @Id @GeneratedValue(strategy = GenerationType.AUTO) @Column(name = "ID", nullable = false) private int id; @Entity public class Employee { @Id private int id;
PERSISTENCE UNIT
Coleccin de Clases Entidad representadas por un archivo PERSISTENCE.XML Define las clases entidad que van a ser administradas por el Entity Manager Limitada a un solo DataSource
PERSISTENCE CONTEXT
Se interpreta como una copia activa de la unidad de persistencia Se puede tener varios contextos de persistencia que usan la misma unidad de persistencia al mismo tiempo El contexto de persistencia: Dura lo mismo que una transaccin Tiene una API para su manejo Entity Manager
PERSISTENCE CONTEXT
Application
EntityManager MyEntity A MyEntity C MyEntity a MyEntity b MyEntity B
Persistence Context
ENTITY MANAGER
Proporciona los mtodos para controlar los eventos de un contexto de persistencia y el ciclo de vida de las clases entidad
TIPOS DE PERSISTENCIA
Relaciones : La API de Persistencia soporta el manejo de llaves forneas y tablas relacionadas. En Java, estas relaciones se modelan mediante relaciones de Herencia de Entidades Java Persistence Query Language : Es un dialecto de SQL portable utilizado para evitar dependencias de SQL en aplicaciones Java Queries de dos tipos:
NamedQueries para Persistence Query Language. NativeQueries. para queries de SQL normal.
@Entity @NamedQuery(name="FindAllOpenAuctions", query=" SELECT OBJECT(a) FROM Action AS a WHERE a.status= 'OPEN'")
Usan el Persistence Query Language en vez de SQL. Hacen la aplicacin altamente portable. No pueden utilizar caractersticas especiales de SQL.
Usan SQL standard. No se recomiendan porque pueden hacer la aplicacin poco portable.