Спящий и динамический SQL - PullRequest
0 голосов
/ 15 декабря 2011

знаете ли вы что-нибудь о Hibernate и его способности генерировать динамические SQL-запросы с HQL?

Если у вас есть какие-либо ссылки, я хотел бы опубликовать их, я ничего не могу найти в документации Hibernate.

С наилучшими пожеланиями Гейб

// редактировать так что, возможно, я уточню, что я имею в виду. Мне интересно, генерирует ли какой-нибудь HQL-код запросы SQL, которые используют что-то вроде EXECUTE (для postgres)

Ответы [ 2 ]

0 голосов
/ 15 декабря 2011

Если вы говорите о статических запросах, использующих динамические аргументы, синтаксис будет

select f from Foo f where f.bar = ? and f.zim = ?

или с именованными параметрами

select f from Foo f where f.bar = :bar and f.zim = :zim

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

Оба в значительной степени описаны в справочной документации по Hibernate.

0 голосов
/ 15 декабря 2011

Не знаете, к чему вы стремитесь?HQL в Hibernate всегда будет генерировать SQL, и вы можете по-разному комбинировать HQL в зависимости от ввода.Он всегда будет генерировать новый SQL для каждой перестановки и запуска.Вы можете выполнять запросы Hibernate для прекомпиляции / кэширования, но это всего лишь оптимизация производительности, и это не должно быть вашей первой заботой.

Я также хотел бы рассмотреть API Criteria, который позволяет вам оставаться гораздо более объектно-ориентированным, чем работатьс тоннами струн.

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