El mapeo de los objetos a las tablas

En JPA se utilizan anotaciones sobre las clases, atributos y métodos para definir la correspondencia entre los objetos y las tablas.

Clases a tablas y atributos a columnas

Una clase anotada con @Entity corresponderá con una tabla. Por defecto, el nombre de la clase será el nombre de la tabla y cada uno de los atributos de tipo básico de la clase corresponderá con una columna de la tabla. La siguiente figura muestra un ejemplo simple donde la clase llamada EmployeeEntity (anotada con @Entity) tiene tres atributos simples (id, name, salary) es mapeada a una tabla del mismo nombre que tiene tres columnas. También hay una correspondencia entre los tipos de datos: Long se convierte en BIGINT, String se convierte en VARCHAR y Double en Double.

Cada instancia de la clase EmployeeEntity puede convertirse en una fila en la tabla EMPLOYEEENTITY. Luego, al cambiar los valores de los atributos de los objetos, estos valores se cambiarán también en la fila donde están guardados.

En la Guía de las anotaciones en JPA y en el wikibook Java Persistence podemos encontrar el detalle y ejemplos de cada una de las anotaciones utilizadas para definir la metadata que le permitirá al proveedor de JPA generar las correspondencias entre el modelo objetos y el modelo relacional. La siguiente tabla presenta un pequeño resumen de algunas de las anotaciones utilizadas en los ejemplos de este libro.

Anotación Descripción Atributos
@Entity Sobre una clase. La clase corresponderá con una tabla en la BD relacional. name el nombre de la entidad en los queries. Por defecto es el nombre (sin los paquetes) de la clase.
@Column Sobre un atributo (o método get). Especifica la relación entre un atributo de la clase y una columna de la tabla. Por defecto cada atributo será una columna. name nombre la columna. Por defecto es el mismo nombre del atributo
nullable indica si el campo de la columna puede ser nulo. Por defecto es true
length para los atributos de tipo String indica la longitud máxima. Por defecto el valor es 255.
@Id Sobre un atributo (o método get). Especifica la llave primaria de la entidad.
@GeneratedValue utilizado para generar el valor de las llaves primarias. strategy define la estrategia de generación del valor de la llave primaria. Esta estrategia puede ser:
GenerationType.IDENTITY
GenerationType.TABLE
GenerationType.SEQUENCE

results matching ""

    No results matching ""