Je veux vérifier si au moins un élément d'une collection (u.organisations
) est contenu dans une autre collection (?
= excludedOrganisations):HQL: Un élément d'une collection dans une autre collection?
select distinct u from SystemUser u
join u.userGroups g
join u.organisations o
where 3 in elements(g.permissions) and
EACH_ELEMENT_OF(o) not in (?)
Comment puis-je exprimer la EACH_ELEMENT_OF
avec HQL?
Mon dernier essai est:
select distinct u from SystemUser u
join u.userGroups g
where 3 in elements(g.permissions) and
not exists (
select org from Organisation org
where org in elements(u.organisations)
and org not in (?)
)
Mais je reçois l'exception:
IllegalArgumentException occurred calling getter of Organisation.id
Hey, avez-vous fait des progrès dans ce domaine? – octav
Ma solution de contournement est avec une boucle forcée ce qui est possible avec relativement peu d'éléments. – deamon
Essayez de passer au lieu d'une liste d'organisations, une liste avec seulement leurs identifiants. J'ai essayé quelque chose de similaire et ça a marché. – octav