#hql #hql-delete
#hql #hql-удалить
Вопрос:
Я хочу знать аналог hql для SQL:
delete license from license, license_pool
where license.license_pool_id = license_pool.license_pool_id
and license.school_id = 13
and license_pool.program_id = 1
and license.staff_member_id is null
Ответ №1:
Я знаю, что это старый вопрос, но вот ваш ответ. Это можно найти в документации по hibernate в разделе «Операции в стиле DML» (который относится к обновлениям и удалениям HQL).
- В предложении from ключевое слово FROM является необязательным
- В предложении from может быть только один объект с именем. Однако он может быть псевдонимным. Если имя объекта имеет псевдоним, то все ссылки на свойства должны быть указаны с использованием этого псевдонима. Если имя объекта не имеет псевдонима, то недопустимо уточнять любые ссылки на свойства.
- В массовом запросе HQL не могут быть указаны объединения, ни явные, ни неявные. Подзапросы могут использоваться в предложении where, где сами подзапросы могут содержать соединения. Предложение where также необязательно.