Предположим, у меня есть настройка, подобная следующей:
class User {
static hasMany = [items : Item];
}
class Item {
String name;
}
Я пытаюсь выбрать все Users
, которые имеют Item
в этом hasMany
отображении.У меня есть идентификатор элемента, и я хочу найти всех пользователей, которые «имеют» этот элемент.
Есть ли запрос HQL, который я могу выполнить, который выполнит это или еще лучше, встроенная функция GORM, которая обрабатываетэтот запрос?
Предположим, это был прямой SQL, я бы сделал что-то вроде:
SELECT `user_id` FROM `user_item` WHERE `item_id`=[ID]
Глядя в H2, я могу написать запрос
SELECT USER_ID FROM USER_ITEM WHERE ITEM_ID=1;
Я могу расширить этоSQL для включения всего объекта пользователя:
SELECT * FROM user, user_item WHERE user_item.item_id=[item id] AND user.id = user_user.user_items_id;