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, поскольку я хочу проверить их, чтобы, возможно, найти другие возможные ошибки!

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