Diese Regel erkennt bestimmte JPA-PeristenceContext- oder -PersistenceUnit-Annotationen, bei denen
der Feldname dem Namen einer Persistenzeinheit entspricht, die in der Datei persistence.xml definiert ist.
Diese Regel erfordert Umständen Zugriff auf die Datei persistence.xml, die sich im Ordner
META-INF befinden muss. Die folgenden Bedingungen lösen die Regel aus:
- Marker-Annotationen:
- Die Annotation wird auf Feldebene definiert.
- Der Feldname entspricht dem Namen einer Persistenzeinheit, die in der Datei persistence.xml definiert ist.
- Normale Annotationen:
- Die Annotation enthält nicht das Attribut,
name
- Die Anmerkung enthält
unitName
, enthält aber nicht
name
- Die Annotation enthält weder „name“ noch „unitName“. Sie ist im Feld deklariert und der Feldname entspricht dem Namen einer Persistenzeinheit, der in der Datei persistence.xml definiert ist.
Die Schnellkorrektur des Quellenscanners fügt das Attribut hinzu
unitName
und/oder
name
zu JPA- PeristenceContext -oder PersistenceUnit -Annotationen.
Beispiele:
- PersistenceContext
@PersistenceContext
EntityManager myPersistenceContext;
- Wenn myPersistenceUnit als persistenceUnit in der Datei
META-INF/persistence.xml definiert ist, ändert die Schnellkorrektur den Code wie folgt:
@PersistenceContext(unitName = "myPersistenceUnit", name = "myPersistenceUnit" )
EntityManager
myPersistenceContext;
- PersistenceUnit
@PersistenceUnit
EntityManagerFactory
myPersistenceUnit;
- Wenn myPersistenceUnit als persistenceUnit in der Datei
META-INF/persistence.xml definiert ist, ändert die Schnellkorrektur den Code wie folgt:
@PersistenceUnit(unitName = "myPersistenceUnit", name = "myPersistenceUnit")
EntityManagerFactory
myPersistenceUnit;
- PersistenceUnit
@PersistenceUnit(unitName="someName")
EntityManager
myPersistenceUnit;
- Die Schnellkorrektur ändert den Code wie folgt:
@PersistenceUnit(unitName = "someName", name = "someName")
EntityManager
myPersistenceUnit;