Această regulă detectează anumite adnotări JPA PeristenceContext sau PersistenceUnit
unde numele de câmp este acelaşi cu un nume unităţii de persistenţă care este definită în fişierul persistence.xml.
Această regulă ar putea necesita acces la fişierul persistence.xml, care trebuie să se afle în folderul META-INF. Următoarele condiţii declanşează regula:
- Adnotările Marker
- Adnotarea este definită la nivel de câmp.
- Numele de câmp este acelaşi cu un nume unităţii de persistenţă care este definită în fişierul persistence.xml.
- Adnotările Normal
- Adnotarea nu contine atributul,
name
- Adnotarea conţine
unitName
, dar nu conține
name
- Adnotarea nu conține "name", sau "unitName", și este declarată pe Field și numele câmpului este același cu un nume de unitate de persistență definit în fișierul persistence.xml
Fixarea automată va adăuga atributul
unitName
și/sau
name
to JPA PeristenceContext or PersistenceUnit annotations.
Exemple:
- PersistenceContext
@PersistenceContext
EntityManager myPersistenceContext;
- Dacă myPersistenceUnit este definit ca un persistenceUnit în META-INF/persistence.xml soluția automată va schimba acest cod în:
@PersistenceContext(unitName = "myPersistenceUnit", name = "myPersistenceUnit" )
EntityManager
myPersistenceContext;
- PersistenceUnit
@PersistenceUnit
EntityManager
myPersistenceUnit;
- Dacă myPersistenceUnit este definit ca un persistenceUnit în META-INF/persistence.xml soluția automată va schimba acest cod în:
@PersistenceUnit(unitName = "myPersistenceUnit", name = "myPersistenceUnit" )
EntityManager
myPersistenceUnit;
- PersistenceUnit
@PersistenceUnit(unitName="someName")
EntityManager
myPersistenceUnit;
- Soluția automată va schimba acest cod în:
@PersistenceUnit(unitName = "someName", name = "someName" )
EntityManager
myPersistenceUnit;