Bonjour,
J'ai le problème suivant:
Je dois faire une requete générique, mais il me faut une exclusion dans une sous requète.
comment peut t'on définir qu'une collection ne doit pas contenir une certaine expression ?
Pour le moment, j'utilise l'expression suivante : collectionPathBase.size().eq(1) mais ça ne fonctionne pas dans tout les cas voulu (solution transitoire)
et j'aimerais savoir que la collection (Set de QTextMehrsprachig) ne contient pas : QTextMehrsprachig.textMehrsprachig.locale.eq(guiLocale).
Je n'arrive pas à créer une expression qui exprime cela.
Le bout code fonctionnel que j'ai développé:
Auriez-vous une idée ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 if (pathPoint.getPathType().equals(ListPath.class) || pathPoint.getPathType().equals(SetPath.class)) { if (guiLocale != null) { CollectionPathBase collectionPathBase = ((CollectionPathBase) pathPoint.getPathField().get(pathPoint.getPathEntity())); if (collectionPathBase.any().getType().equals(TextMehrsprachig.class)) { sortOrder = setSortOrder(order); List<Locale> list = new ArrayList(); list.add(guiLocale); list.add(defaultLocale); BooleanBuilder builderTextMehr = new BooleanBuilder(QTextMehrsprachig.textMehrsprachig.locale.eq(guiLocale).or(QTextMehrsprachig.textMehrsprachig.locale.eq(defaultLocale).and(collectionPathBase.size().eq(1))));
Merci d'avance.
Emmanuel
Partager