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 proyecto. En nuestro ejemplo (unitName = "CompanyPU") |
|
|
Note que el nombre de la unidad de persistencia debe ser igual en todas las clases de persistencia del proyecto. |
|
- Tener configurada la Unidad de persistencia |
La Unidad de persistencia, en nuestro ejemplo "CompanyPU", debe estar configurada en el archivo persistence.xml . El nombre "XYZPU" debe coincidir con el definido en el archivo. |
|
- Tener cada uno de los métodos CRUD y cie. |
Lo que se necesite según el proyecto. |
|
------------ |
----- |