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é:
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))));
Auriez-vous une idée ?

Merci d'avance.

Emmanuel