Ao injetar uma PersistenceContext ou PersistenceUnit, utilize objetos EntityManager ou
EntityManagerFactory, e não utilize subclasses. Esta regra detecta a presença de
subclasses injetadas de EntityManager ou EntityManagerFactory.
As condições a seguir acionarão a regra:
- PersistenceContext:
- A anotação é definida no nível do campo.
- O tipo de campo não é EntityManager,
javax.persistence.EntityManager
- PersistenceUnit:
- A anotação é definida no nível do campo.
- O tipo de campo não é EntityManagerFactory,
javax.persistence.EntityManagerFactory
Uma correção automática substituirá essas subclasses pelas classes EntityManager ou EntityManagerFactory.
Exemplos:
- A regra detecta este código PersistenceContext:
@PersistenceContext
CustomEntityManager myMgr;
- A correção automática fará alterações nesse código para:
@PersistenceContext
EntityManager
myMgr;
- Nota: Se a classe ainda não contiver a instrução de importação de
javax.persistence.EntityManager
então seu código atualizado será semelhante a:
@PersistenceContext
javax.persistence.EntityManager
myMgr;
- A regra detecta este código PersitenceUnit:
@PersistenceUnit
CustomEntityManagerFactory
myFactory;
- A correção automática fará alterações nesse código para:
@PersistenceUnit
EntityManagerFactory
myFactory;
- Nota: Se a classe ainda não contiver a instrução de importação de
javax.persistence.EntityManagerFactory
então o código atualizado será semelhante a:
@PersistenceUnit
javax.persistence.EntityManagerFactory
myFactory;