Константы как параметр в NamedQueries это хорошая практика? - PullRequest
0 голосов
/ 15 мая 2018

Я использую константы для организации @NamedQueries, но я сомневаюсь в параметрах, является ли хорошей практикой использование констант в качестве параметров тоже?

Например, во всем приложении мой фильтр NamedQueries по идентификатору компании. Итак, я создал:

public static final String PARAM_EMPRESA_ID = "empresaId";

И я использую вот так:

@NamedQuery(name = EmbalagemAbaSuperiorTipo.QUERY_FETCH_BY_EMPRESA,
            query = "SELECT ep FROM EmbalagemAbaSuperiorTipo ep WHERE ep.empresa.id = :" + AppController.PARAM_EMPRESA_ID + " ORDER BY ep.descricao")

Может ли это вызвать какие-либо проблемы с производительностью, когда Hibernate нужно компилировать запросы? И есть ли лучшая рекомендация?

Заранее спасибо

1 Ответ

0 голосов
/ 15 мая 2018

С точки зрения Hibernate, аннотации @NamedQuery анализируются при запуске Hibernate. Таким образом, вы не должны видеть никаких проблем производительности во время выполнения. Это также хороший способ минимизировать ошибки разработчика, потому что вы используете константы времени компиляции, а не строки, которые я использовал и нашел полезными в моем прошлом опыте.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...