Verwenden Sie bei der Injektion von PersistenceContext oder PersistenceUnit EntityManager- oder EntityManagerFactory-Objekte und keine Unterklassen. Diese Regel erkennt das Vorhandensein injizierter Unterklassen von EntityManager und EntityManagerFactory.
Die folgenden Bedingungen lösen die Regel aus:
- PersistenceContext:
- Die Annotation wird auf Feldebene definiert.
- Der Feldtyp ist nicht EntityManager.
javax.persistence.EntityManager
- PersistenceUnit:
- Die Annotation wird auf Feldebene definiert.
- Der Feldtyp ist nicht EntityManagerFactory,
javax.persistence.EntityManagerFactory
Eine automatische Korrektur ersetzt diese Unterklassen durch die Klassen EntityManager oder EntityManagerFactory.
Beispiele:
- Die Regel erkennt diesen PersistenceContext-Code:
@PersistenceContext
CustomEntityManager myMgr;
- Die automatische Korrektur ändert diesen Code in:
@PersistenceContext
EntityManager
myMgr;
- Hinweis: Wenn die Klasse noch keine Importanweisung von
javax.persistence.EntityManager
dann wird Ihr aktualisierter Code ähnlich aussehen:
@PersistenceContext
javax.persistence.EntityManager
myMgr;
- Die Regel erkennt diesen PersistenceUnit-Code:
@PersistenceUnit
CustomEntityManagerFactory
myFactory;
- Die automatische Korrektur ändert diesen Code in:
@PersistenceUnit
EntityManagerFactory
myFactory;
- Hinweis: Wenn die Klasse noch keine Importanweisung von
javax.persistence.EntityManagerFactory
dann wird der aktualisierte Code ähnlich aussehen:
@PersistenceUnit
javax.persistence.EntityManagerFactory
myFactory;