FindBugs: Как избежать предупреждения «Незаписанное публичное поле» при использовании метамодели JPA?JAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 FindBugs: Как избежать предупреждения «Незаписанное публичное поле» при использовании метамодели JPA?

Сообщение Anonymous »


Я написал довольно много классов DAO и использовал в них API критериев JPA и его метамодель, как в этом примере:

@Override общественный EntityA findByEntityB (EntityBentityB) { Построитель CriteriaBuilder = this.getCriteriaBuilder(); CriteriaQuery CriteriaQuery = builder.createQuery(EntityA.class); Root root = критерииQuery.from(EntityA.class); критерииQuery.select(корень); критерииQuery.where(builder.and(builder.equal(root.get(EntityA_.entityB),entityB))); вернуть this.findByCriteriaQuery(criteriaQuery); } При выполнении статического анализа кода FindBugs выдает следующее предупреждение:

UWF_UNWRITTEN_PUBLIC_OR_PROTECTED_FIELD, приоритет: обычный

Незаписанное общедоступное или защищенное поле: EntityA_.entityB

В это общедоступное/защищенное поле не было обнаружено записей. Все его чтения будут возвращать значение по умолчанию. Проверьте наличие ошибок (нужно ли было его инициализировать?) или удалите, если он бесполезен.

Поскольку я использую классы метамодели почти во всех своих запросах, это предупреждение выдается очень часто.

Есть ли какой-нибудь полезный способ избежать этих предупреждений? Как мы все знаем, классы метамодели просто генерируются, а их атрибуты никогда не записываются.

Я не хочу исключать классы DAO из сканирования FindBugs, поскольку я хочу проверить их, чтобы, возможно, найти другие возможные ошибки!
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»