La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Mapeo Objeto – Relacional JPA – Java Persistence Api

Presentaciones similares


Presentación del tema: "Mapeo Objeto – Relacional JPA – Java Persistence Api"— Transcripción de la presentación:

1

2 Mapeo Objeto – Relacional JPA – Java Persistence Api

3 Agenda Mapeo Objeto relacional Persistencia Entidades
Principales anotaciones para mapear entidades Anotaciones para definir las relaciones entre las entidades Caso de estudio

4 Object-Relational Mapping (Mapeo Objeto Relacional)
Es una técnica en la que se las tablas, columnas y relaciones de una base de datos se convierten a clases, atributos y tipos de datos de un lenguaje de programación orientado a objetos, creando una base de datos virtual.

5 Object-Relational Mapping (Mapeo Objeto Relacional)
Esto nos permiten trabajar con objetos, en vez de tablas y columnas, donde un registro en una tabla se representa por una instancia de la entidad. Este mapeo permite generar automáticamente el código SQL necesario para consultar y actualizar la base de datos.

6 Object-Relational Mapping (Mapeo Objeto Relacional)
Mayor independencia entre la aplicación y el motor de la Base de Datos. Facilita el manejar tipos de datos del lenguaje de programación y la Base de Datos.

7 Persistencia La persistencia permite al programador almacenar, transferir y recuperar información entre los objetos y las Bases de Datos, según el mapeo creado. Utiliza un motor que busca solucionar la diferencia entre los modelos de manipulación de datos del Lenguaje de Programación y el manejador de Base de Datos. Por ejem. Hibernate.

8 Java Persistence API (API de Persistencia De Java)
Provee el mapeo entre el mundo de objetos / relacional para los desarrolladores Java; sirve para manejar datos relacionales en aplicaciones Java. Se divide en tres áreas: El Api de persistencia de Java El JPQL: lenguaje de consulta Objeto / Relacional metadata de mapeo.

9 Entidades Es un objeto de dominio que tiene persistencia en la base de datos. Típicamente una Entidad representa una tabla; cada instancia de la entidad corresponde a un registro en la tabla. Es representada por medio de campos de persistencia o por propiedades de persistencia. Estos campos o propiedades usan anotaciones para representar las entidades o relaciones entre entidades, con los datos relacionales en la base de datos.

10 Anotaciones de definición de Entidades
Anotación Clase Explicación @Entity javax.persistence.Entity Define una clase como entidad. @Table javax.persistence.Table Define la tabla que va a ser mapeada.

11 Anotaciones de definición de Datos de Entidades
Anotación Clase Explicación @Id javax.persistence.Id Denota el campo que será el identificador único para la entidad. @Column javax.persistence.Column Define el mapeo entre una columna de la tabla con un atributo o propiedad de la entidad. @NotNull org.hibernate.validator.NotNull Denota que un campo debe ser obligatorio. @Temporal javax.persistence.Temporal Especifica el tipo del atributo como un java.util.Date o java.util.Calendar, se utiliza para definir un campo como fecha corta, o tipo Time. @Transient javax.persistence.Transient Marca un campo o propiedad como no persistente. @Embedded javax.persistence.Embedded Especifica que un campo de persistencia de una entidad o una propiedad es una clase embebida. @Embeddable javax.persistence.Embeddable Define una clase como embebida, es decir, se puede utilizar como atributo de otra entidad.

12 Anotaciones de definición de relaciones entre Entidades
@ManyToOne: Define la relación de Muchos a Uno. Múltiples instancias de una entidad se relacionan con una instancia simple de otra entidad. Usa: javax.persistence.ManyToOne. @ManyToMany: Establece la relación de Muchos a Muchos. Las instancias de la entidad pueden estar relacionadas con varias instancias de otra entidad. Usa: javax.persistence.ManyToMany.

13 Anotaciones de definición de relaciones entre Entidades
@OneToOne: Define la relación de Uno a Uno. Cada entidad se relaciona con una sola instancia de la otra entidad. Usa: javax.persistence.OneToOne. @OneToMany: Define la relación de Uno a Muchos. Una entidad está relacionada con múltiples instancias de otra entidad. Usa: javax.persistence.OneToMany.

14 Anotaciones de definición de relaciones entre Entidades
@JoinColumn: Denota el nombre de la columna de la tabla a la cual es mapeada la entidad, y con la cual se establece la relación. Usa: javax.persistence.JoinColumn. @JoinColumns: Define el mapeo de la columna con la entidad por medio de llaves compuestas. Usa: javax.persistence.JoinColumns.

15 Tipos de Cargas de Entidades
LAZY: esto quiere decir que no realiza la consulta del atributo relacionado, cuando se instancia la entidad sino cuando se hace el llamado al método get correspondiente al atributo. EAGER: Al instanciar la entidad inmediatamente se realiza la consulta del atributo relacionado.

16 Mapeo de Entidad con llave compuesta
Cuando se necesita mapear una tabla en la cual su llave principal son dos o mas atributos es necesario crear otra clase con estos atributos. En la clase de llave compuesta se utiliza la En la entidad se crea como atributo una instancia de la clase anterior y se debe colocar la anotación: @EmbeddedId.

17 Pasos para mapear una Tabla
Ubicar el directorio correspondiente donde se guardará la entidad teniendo en cuanta la convención de definición de paquetes. Los nombres de las clases deben iniciar siempre en mayúscula, deben ser simples y descriptivos. Los nombres de las clases de Entidad deben ser sustantivos en singular.

18 Pasos para mapear una Tabla
Posicionar encima de la definición de la Clase, las anotaciones de

19 Caso de Estudio Se requiere elaborar una aplicación para llevar el registro y control de los elementos y materiales de laboratorio que se le prestan a los estudiantes o docentes, estos elementos pueden ser fuentes de poder, voltímetros y diferentes dispositivos electrónicos. Un auxiliar es el encargado de prestar los elementos y registrar los datos de salida y entrada de los elementos, tambien se requiere llevar el controlo de las materias en las cuales se utiliza el elemento.

20 Caso de estudio – Diagrama Entidad Relación
1 facultad id Nombre equipo id modelo fecha_ingreso descripcion marca serie id_estado Disponible Id_tipo_equipo 1 usuario Id_usuario nombre apellido id_rol password 1 1 N Tipo_equipo id nombre 1 N N facultad_usuario Id_facultad Id_usuario N 1 1 rol id nombre 1 N N N Historico_prestamo Id tag_equipo id_usuario fecha_salida Hora_salida fecha_entrada Hora_entrada id_salon id_estadorecibido Observaciones id_materia Id_usuario_auxiliar N 1 1 N estado id nombre 1 N N Materia id Nombre Id_facultad salon id nombre N 1

21 Conexión a la Base de datos
Host: sandbox2.ufps.edu.co Usuario: userJee6 Password: userJee6

22 Gracias por su atención
M.Sc. FREDY H. VERA R Cúcuta


Descargar ppt "Mapeo Objeto – Relacional JPA – Java Persistence Api"

Presentaciones similares


Anuncios Google