此规则检测某些 JPA PeristenceContext 或 PersistenceUnit 注释,在这些注释中,字段名称与
persistence.xml 文件中定义的持久性单元名称相同。
此规则可能要求对 persistence.xml 文件(它必须位于
META-INF 文件夹中)具有访问权。 下列条件会触发该规则:
- 标记注释:
- 注释是在字段级别上定义的。
- 字段名称与 persistence.xml 文件中定义的持久性单元名称相同。
- 普通注释:
- 注释不包含属性,
name
- 注释包含
unitName
,但不包含
name
- 注释不包含“name”或“unitName”,并且在“字段”上声明,并且
字段名称与
persistence.xml 文件中定义的持久性单元名称相同
自动修复将添加属性
unitName
和/或
name
至 JPA PeristenceContext 或 PersistenceUnit 注释。
例如:
- PersistenceContext
@PersistenceContext
EntityManager myPersistenceContext;
- 如果 myPersistenceUnit 被定义为 persistenceUnit 中的 META-INF/persistence.xml 文件中被定义为 ,则自动修复功能会将此代码更改为
@PersistenceContext(unitName = "myPersistenceUnit", name = "myPersistenceUnit" )
EntityManager
myPersistenceContext;
- PersistenceUnit
@PersistenceUnit
EntityManagerFactory
myPersistenceUnit;
- 如果 myPersistenceUnit 被定义为 persistenceUnit 中的 META-INF/persistence.xml 文件中被定义为 ,自动修复程序将把该代码更改为
@PersistenceUnit(unitName = "myPersistenceUnit", name = "myPersistenceUnit" )
EntityManagerFactory
myPersistenceUnit;
- PersistenceUnit
@PersistenceUnit(unitName="someName")
EntityManager
myPersistenceUnit;
- 自动修复将把这段代码改为
@PersistenceUnit(unitName = "someName", name = "someName" )
EntityManager
myPersistenceUnit;