JPA

ORM (Mapeo objeto-relación)

Es una técnica de programación para convertir datos entre el sistema de tipos utilizado en un lenguaje de programación orientado a objetos y la utilización de una base de datos relacional como motor de persistencia. En la práctica esto crea una base de datos orientada a objetos virtual, sobre la base de datos relacional. Esto posibilita el uso de las características propias de la orientación a objetos (básicamente herencia y polimorfismo). Hay paquetes comerciales y de uso libre disponibles que desarrollan el mapeo relacional de objetos, aunque algunos programadores prefieren crear sus propias herramientas ORM.



JPA

Java Persistence API, más conocida por sus siglas JPA, es la API de persistencia desarrollada para la plataforma Java EE
Es un framework del lenguaje de programación Java que maneja datos relacionales en aplicaciones usando la Plataforma Java en sus ediciones Standard y Enterprise.





JPA - Relaciones de la Entidad

Existe relación Many-To-One entre las entidades donde se hace referencia a una entidad (columna o conjunto de columnas) con valores únicos que contienen de otra entidad (columna o conjunto de columnas). En bases de datos relacionales, estas relaciones se aplican mediante el uso de clave primaria clave externa entre las tablas.



Persistence.xml

Persistence.xml archivo es necesario para configurar la base de datos y el registro de las clases de entidad.
Persitence.xml será creado por el eclipse IDE durante la creación de un proyecto de JPA.

Clases de servicio

Este módulo contiene las clases de servicio, que implementa la parte relacional con la inicialización de atributo.


@OneToMany Relación

En esta relación, cada fila de una entidad se hace referencia a los muchos registros secundarios en otra entidad. Lo importante es que los registros secundarios no pueden tener varios padres. En una relación uno a varios entre la tabla A y B de la tabla, cada fila en la tabla A puede ser vinculado a una o varias filas en la tabla B.

@OneToOne Relation

En una relación uno-a-uno, un elemento puede vincularse al único otro elemento. Significa que cada fila de una entidad se refiere a una y sólo una fila de otra entidad.


@ManyToMany Relation

Relación de varios a varios es donde una o más filas de una entidad se asocian a más de una fila en otra entidad.
Vamos a considerar un ejemplo de una relación entre dos entidades: clase y profesor. De manera bidireccional, tanto clase como profesor tienen muchos a uno relación. Que significa que cada registro de clase es referido por el profesor (ids de profesor), que debe ser primaria llaves en la mesa del profesor y almacenados en la tabla Teacher_Class y viceversa.








Llaves compuestas con @IdClass

Existen ocasiones en donde se requieres marcar más de un campo como @Id, conformando con esto una llave primaría compuesta. En estos casos se requiere complementar la entidad con una clase adicional que será utilizada como ID y además tendrá que ser referenciada desde la clase donde se requiere una llave compuesta. La utilización de @IdClass es una de las dos opciones para definir llaves primarias compuestas, y esta consiste en crear una clase adicional únicamente con los campos que corresponden a la llave primaria.
















Comentarios