Wstrzykując adnotację PersistenceContext lub PersistenceUnit, należy użyć obiektu EntityManager lub EntityManagerFactory i nie można używać podklas. Ta reguła wykrywa obecność wstrzykniętych podklas
EntityManager lub EntityManagerFactory.
Następujące warunki powodują wyzwolenie reguły:
- PersistenceContext:
- Adnotacja jest zdefiniowana na poziomie pola.
- Typem pola nie jest EntityManager,
javax.persistence.EntityManager
- PersistenceUnit:
- Adnotacja jest zdefiniowana na poziomie pola.
- Typem pola nie jest fabryka EntityManager,
javax.persistence.EntityManagerFactory
Automatyczna poprawka zastąpi te podklasy klasami EntityManager lub EntityManagerFactory.
Przykłady:
- Reguła wykrywa ten kod PersistenceContext:
< span class="Kod">
< span class= "JavaType"> @PersistenceContext< /span>
CustomEntityManager myMgr;
- Automatyczna poprawka zmieni ten kod na:
< span class="Kod">
< span class= "JavaType"> @PersistenceContext< /span>
EntityManager
myMgr;
- Uwaga: Jeśli klasa nie zawiera jeszcze instrukcji importu
javax.persistence.EntityManager
wówczas zaktualizowany kod będzie podobny do
< span class="Kod">
< span class= "JavaType"> @PersistenceContext< /span>
javax.persistence.EntityManager
myMgr;
- Ta reguła wykrywa kod z adnotacją PersitenceUnit:
@PersistenceUnit
CustomEntityManagerFactory
myFactory;
- Automatyczna poprawka zmieni ten kod na:
@PersistenceUnit
FabrykaEntityManager
myFactory;
- Uwaga: Jeśli klasa nie zawiera jeszcze instrukcji importu
javax.persistence.EntityManagerFactory
wówczas zaktualizowany kod będzie podobny do:
@PersistenceUnit
javax.persistence.EntityManagerFactory
myFactory;