Cuando se inyecta un PersistenceContext o PersistenceUnit, utilice los objetos
EntityManager o EntityManagerFactory, y no utilice subclases. Esta regla detecta la
presencia de subclases inyectadas de EntityManager o EntityManagerFactory.
Las siguientes condiciones desencadenarán la regla:
- PersistenceContext:
- La anotación se ha definido en el nivel de campo.
- El tipo de campo no es EntityManager,
javax.persistence.EntityManager
- PersistenceUnit:
- La anotación se ha definido en el nivel de campo.
- El tipo de campo no es EntityManagerFactory,
javax.persistence.EntityManagerFactory
Una corrección automática sustituirá esas subclases por las clases EntityManager o EntityManagerFactory.
Ejemplos:
- La regla detecta este código de PersistenceContext:
@PersistenceContext
CustomEntityManager myMgr;
- La corrección automática hará que este código cambie a:
@PersistenceContext
EntityManager
myMgr;
- Nota: Si la clase todavía no contiene la sentencia de importación de
javax.persistence.EntityManager
entonces su código actualizado será similar a:
@PersistenceContext
javax.persistence.EntityManager
myMgr;
- La regla detecta este código PersitenceUnit:
@PersistenceUnit
CustomEntityManagerFactory
myFactory;
- La corrección automática hará que este código cambie a:
@PersistenceUnit
EntityManagerFactory
myFactory;
- Nota: Si la clase todavía no contiene la sentencia de importación de
javax.persistence.EntityManagerFactory
entonces el código actualizado será similar a:
@PersistenceUnit
javax.persistence.EntityManagerFactory
myFactory;