При внедрении PersistenceContext или PersistenceUnit следует использовать
объекты EntityManager или EntityManagerFactory и не использовать подклассы. Это правило находит внедренные подклассы EntityManager или EntityManagerFactory.
Правило срабатывает при соблюдении следующих условий:
- PersistenceContext:
- Аннотация определена на уровне поля.
- Тип поля не EntityManager,
javax.persistence.EntityManager
- PersistenceUnit:
- Аннотация определена на уровне поля.
- Тип поля не является фабрикой EntityManager,
javax.persistence.EntityManagerFactory
Автоматическое исправление заменит эти подклассы на классы EntityManager или EntityManagerFactory.
Примеры:
- Правило обнаруживает этот код PersistenceContext:
< span class="Code">
< span class= "JavaType"> @PersistenceContext< /span>
CustomEntityManager myMgr;
- Автоматическое исправление внесет изменения в этот код:
< span class="Code">
< span class= "JavaType"> @PersistenceContext< /span>
EntityManager
myMgr;
- Примечание: если класс еще не содержит оператор импорта
javax.persistence.EntityManager
тогда ваш обновленный код будет выглядеть так:
< span class="Code">
< span class= "JavaType"> @PersistenceContext< /span>
javax.persistence.EntityManager
myMgr;
- Правилом будет найден следующий код PersitenceUnit:
< span class="Code">
< span class= "JavaType"> @PersistenceUnit< /span>
CustomEntityManagerFactory
myFactory;
- Автоматическое исправление внесет изменения в этот код:
< span class="Code">
< span class= "JavaType"> @PersistenceUnit< /span>
ФабрикаEntityManager
myFactory;
- Примечание: если класс еще не содержит оператор импорта
javax.persistence.EntityManagerFactory
тогда обновленный код будет выглядеть следующим образом:
< span class="Code">
< span class= "JavaType"> @PersistenceUnit< /span>
javax.persistence.EntityManagerFactory
myFactory;