Supposons que j'ai une configuration comme ce qui suit:Sélectionnez la cartographie hasMany avec Gorm dans Grails
class User {
static hasMany = [items : Item];
}
class Item {
String name;
}
Je suis en train de sélectionner tous Users
qui ont un Item
dans cette cartographie hasMany
. J'ai un identifiant d'un article, et je veux trouver tous les utilisateurs qui "ont" cet article.
Y a-t-il une requête HQL que je peux exécuter pour faire ceci ou mieux encore, une fonction GORM intégrée qui gère cette requête?
Supposant ce étaient SQL droites que je ferais quelque chose comme:
SELECT `user_id` FROM `user_item` WHERE `item_id`=[ID]
regardant dans H2 Je peux écrire la requête
SELECT USER_ID FROM USER_ITEM WHERE ITEM_ID=1;
Je peux développer ce SQL pour inclure l'ensemble de l'objet utilisateur:
SELECT * FROM user, user_item WHERE user_item.item_id=[item id] AND user.id = user_user.user_items_id;