Taller Persistencia Básico
Al finalizar, el estudiante podrá:
- Construir una entidad persistente con sus respectivos métodos (CRUD) Create, Retrieve, Update, Delete
- Probar con las pruebas unitarias dadas para tal fin.
Ambiente de Desarrollo y Ejecución
Netbeans >= 8.2
Glassfish 4.1
Java >8
Pasos | |
---|---|
1. Clonar el proyecto | a. En github ir a |
https://github.com/Uniandes-isis2603/company-TallerPersistencia | |
Copiar la url del proyecto. | |
b. En Netbeans ir a Team/clone y pegar la url copiada | |
c. Seleccionar una carpeta local donde quedarán los archivos fuentes del proyecto | |
d. Abrir el módulo company-logic | |
e. Ir a la barra de menú de Netbeans Tools/Options/Java/Maven y allí seleccionar la opción | |
SkipTest | |
f. Seleccionar el proyecto company-TallerPersistencia, click derecho e ir a checkout/checkout revision | |
g. click en select y el tags seleccionar paso.1 | |
h. sobre el proyecto company-TallerPersistencia click derecho Clean and Build | |
2. Ejecutar las pruebas | |
a. Seleccionar el archivo EmployeePersistenceTest.java | |
b.Click derecho Test File | |
c. Debe aparecer el mensaje de que todas las pruebas se ejecutaron correctamente | |
3. Crear una entidad nueva | a. Company (id, name, descripción) |
b. Crear la clase de persistencia utilizando la misma unidad de persistencia | |
c. Para obtener el archivo de pruebas, | |
d. Seleccionar el proyecto company-TallerPersistencia, click derecho e ir a checkout/checkout revision | |
e. click en select y el tags seleccionar paso.2 | |
f. ir a CompanyPersistenceTest.java | |
g. Click derecho Test File |
Lista de chequeo para la nueva entidad persistente
Elemento por revisar | Descripción | |
---|---|---|
Clase Entity | Cada Clase que define una entidad (Entity) debe: | |
- Estar anotada con @Entity |
Para indicar que es Entity de JPA | |
- Implementar Serializable | Para que los objetos de la clase se puedan persistir | |
- Tener un atributo anotado con @Id |
En nuestro ejemplo ese atributo está definido en la clase BaseEntity.java . Se debe verificar que la clase hereda de ésta y que este atributo NO está redefinido en la subclase. |
|
- Estrategia de creación de valor de @Id |
El atributo anotado con @Id debe tener definida en una anotación la estrategia de cómo la base de datos le asigna valor. En nuestro caso, ese atributo está definido en la clase BaseEntity.java . |
|
Clase de Persistencia | Cada Clase de Persistencia (XYZPersistence) debe: | |
- Estar anotada con @Stateless |
Para indicar que es un EJB de sesión sin estado. | |
- Tener definido un EntityManager. | Este debe estar anotado con @PersistenceContext . |
|
- Tener definida la unidad de persistencia | Correctamente definido en la anotación @PersistenceContext el nombre de la unidad de persistencia del proyectyo. En nuestro ejemplo (unitName = "CompanyPU") |
|
- Tener configurada la Unidad de persistencia | La Unidad de persistencia, en nuestro ejemplo "CompanyPU", debe estar configurada en el archivo persistence.xml |
|
- Tener cada uno de los métodos CRUD y cie. | Lo que se necesite según el proyecto. |