Именованные запросы за и против - PullRequest
2 голосов
/ 04 июля 2011

Есть ли какое-либо существенное преимущество наличия запросов как NamedQueries перед сущностями?Если бы не мы, мы могли бы иметь это в самом DAO.Пожалуйста, поделитесь некоторыми идеями на этот счет.

1 Ответ

1 голос
/ 21 мая 2013

Именованные запросы обеспечивают значительный выигрыш в производительности, когда приложение требует повторного выполнения одного и того же запроса.Ключевой концепцией этого является то, что каждый запрос, независимо от того, какой синтаксис вы используете для записи их на бизнес-уровне (например, синтаксис гибернации), будет в конечном итоге (должен заканчиваться) как собственный запрос (т.е. синтаксис, который понимает ваша база данных) для того, чтобы быть выполненным.Это преобразование называется компиляцией и считается процессом, требующим много времени.Таким образом, выигрыш в производительности обусловлен тем фактом, что именованные запросы компилируются в их собственный синтаксис один раз в режиме гибернации и выполняются всегда, тогда как динамически созданные запросы должны каждый раз компилироваться в их собственный синтаксис перед их выполнением.

...