Esta regla detecta determinadas anotaciones PeristenceContext o PersistenceUnit de JPA en las que el nombre de campo es el mismo que un nombre de unidad de persistencia que se ha definido en el archivo persistence.xml.
Esta regla puede necesitar acceso al archivo
persistence.xml, que debe estar en la carpeta META-INF. Las
siguientes condiciones desencadenan la regla:
- Anotaciones de marcador:
- La anotación se ha definido en el nivel de campo.
- El nombre de campo es el mismo que un nombre de unidad de persistencia que se ha
definido en el archivo persistence.xml.
- Anotaciones normales:
- La anotación no contiene el atributo,
name
- La anotación contiene
unitName
, pero no contiene
name
- La anotación no contiene "name" ni "unitName" y se declara en Field y
el nombre de campo es el mismo que un nombre de unidad de persistencia definido en el
archivo persistence.xml
La corrección automática añadirá el atributo
unitName
y/o
name
a las anotaciones PeristenceContext o PersistenceUnit de JPA.
Ejemplos:
- PersistenceContext
@PersistenceContext
EntityManager myPersistenceContext;
- Si myPersistenceUnit se define como persistenceUnit en el META-INF/persistence.xml la corrección automática cambiará este código por:
@PersistenceContext(unitName = "myPersistenceUnit", name = "myPersistenceUnit" )
EntityManager
myPersistenceContext;
- PersistenceUnit
@PersistenceUnit
EntityManagerFactory
myPersistenceUnit;
- Si myPersistenceUnit se define como persistenceUnit en el META-INF/persistence.xml la corrección automática cambiará este código por:
@PersistenceUnit(unitName = "myPersistenceUnit", name = "myPersistenceUnit" )
EntityManagerFactory
myPersistenceUnit;
- PersistenceUnit
@PersistenceUnit(unitName="someName")
EntityManager
myPersistenceUnit;
- La corrección automática cambiará este código por:
@PersistenceUnit(unitName = "someName", name = "someName" )
EntityManager
myPersistenceUnit;