Você está na página 1de 7

Laboratorio Nro 1

Modelo de Datos

CASO 1

Crear un programa que permita realizar persistencia a la tabla tb_laboratorio.

Pasos:

1. Crear la siguiente estructura:


2. Configurar el archivo persistence.xml que se encuentra en META-INF.

persistence.xml

El fichero persistence.xml que se encuentra ubicado en la carpeta META-INF. Este fichero se


encarga de conectarnos a la base de datos y define el conjunto de entidades que vamos a
gestionar.

3. Crear la entidad Laboratorio dentro del paquete entidad:


4. Crear la clase modelLaboratorio dentro del paquete model:
EntityManagerFactory

Crea una unidad de persistencia proporcionando el mismo nombre nico que se encuentra en el
archivo persistent.xml <persistence-unit name="PE">.

Este concepto es el que se conoce como PersistenceUnit. Cada PersistenceUnit tiene asociado un
EntityManagerFactory.

EntityManager

Una vez que disponemos de un EntityManagerFactory este ser capaz de construir un objeto de
tipo EntityManager que como su nombre indica gestiona un conjunto de entidades u objetos. El
EntityManager ser el encargado de salvarlos a la base de datos, eliminarlos de la base de datos
etc .

Mtodos

persist(object), recibe un objeto en memoria y luego lo almacena en la base de datos, equivale


a insertar(INSERT INTO) registros en la base de datos.

merge(object), recibe un objeto en memoria y luego lo almacena en la base de datos, equivale


a modificar(UPDATE) registros en la base de datos.

find(clase, valor_buscar), se encarga de localizar una Entidad a travs de su clave primaria. Para
ello necesita que le pasemos la clave y el tipo de Entidad a buscar.

remove(object), se encarga de eliminar una Entidad.

5. Crear las clases necesarias dentro del paquete pruebas para invocar a los mtodos creados
en la clase modelFarmacia.
CASO 2

Actualizar el programa del CASO 1 donde se realice persistencia a las dos tablas tb_laboratorio
y tb_medicamneto (Establecer relaciones).

Pasos:

1. Configurar el archivo persistence.xml que se encuentra en META-INF.

2. Modificar la estructura de la entidad Laboratorio.


Crear la entidad Medicamento dentro del paquete entidad:

Relacin ManyToOne

Se requiere que la entidad (Medicamento) source tenga un atributo del tipo de la entidad
(Laboratorio) target para poder navegar hacia ella.

private Laboratorio laboratorio

Anotacin @JoinColumn, nombre del atributo en la entidad source llave fornea

Relacin OneToMany

Cuando una entidad se asocia con una coleccin de otras entidades estamos ante una relacin
de uno a muchos.
En el ejemplo del Medicamento vs. El Laboratorio, la relacin es bidireccional por naturaleza. En
una relacin bidireccional, siempre existen dos mapeos: uno por cada relacin.

Se debe usar el elemento mappedBy para indicar cul es el atributo dentro de la entidad
Medicamento que contiene la llave de la relacin.

Anotacin @Temporal

Sirve para especificar tipos de datos basados en el tiempo. Se debe especificar la anotacin
@Temporal y adems especificar el atributo TemporalType con uno de los tres valores que
representan a cada uno de los tipos (DATE, TIME o TIMESTAMP).

6. Crear la clase modelMedicamento dentro del paquete model, debe implementar los
mtodos necesarios para una mantenimiento de medicamentos (registra, actualiza, elimina,
buscar).
7. Crear las clases necesarias dentro del paquete pruebas para invocar a los mtodos creados
en la clase modelMedicamento.

Você também pode gostar