IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JPA Java Discussion :

[CriteriaBuilder] Predicate 'or' avec 'and' parenthèse mal placée


Sujet :

JPA Java

  1. #1
    Membre expérimenté

    Homme Profil pro
    Senior Développeur JEE
    Inscrit en
    Avril 2002
    Messages
    795
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : Belgique

    Informations professionnelles :
    Activité : Senior Développeur JEE
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2002
    Messages : 795
    Points : 1 660
    Points
    1 660
    Par défaut [CriteriaBuilder] Predicate 'or' avec 'and' parenthèse mal placée
    Bonjour,

    petit soucis avec un CriteriaBuilder

    Je souhaiterais avoir le prédicat suivant

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    and (P1 <> 'ABANDONED_BY_SYSTEM' or (P2 is not null and P1 = 'ABANDONED_BY_SYSTEM'))
    Et voici le prédicat généré

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    and (P1 <> 'ABANDONED_BY_SYSTEM' or (P2 is not null) and P1 = 'ABANDONED_BY_SYSTEM')
    Et voici ma spécification:

    Code java : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    return (root, query, cb) -> {
                Predicate abandonedBySystem = cb.equal(root.get(DossierEntity_.dossierStatus), DossierStatus.ABANDONED_BY_SYSTEM);
                Predicate noGrantingResponse = cb.isNotNull(root.get(DossierEntity_.grantingResponse));
                Predicate noGrantingResponseAndAbandonedBySystem = cb.and(noGrantingResponse, abandonedBySystem);
                Predicate or = cb.or(noGrantingResponseAndAbandonedBySystem, abandonedBySystem.not());
                return or;
            };

    Si jamais quelqu'un a une idée elle est la bienvenue.

    Merci.
    Langages : Java, SQL
    Outils : Eclipse, Intellij
    SGBD : Oracle, PostgreSQL
    Mes Articles

  2. #2
    Membre expérimenté

    Homme Profil pro
    Senior Développeur JEE
    Inscrit en
    Avril 2002
    Messages
    795
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : Belgique

    Informations professionnelles :
    Activité : Senior Développeur JEE
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2002
    Messages : 795
    Points : 1 660
    Points
    1 660
    Par défaut
    Résolu. Problème d'interface entre la chaise et le clavier. Fonctionne très bien la requête.
    Comme je suis un pov'type et que je ne stocke pas les bonnes infos dans ma base, ça ne pouvais jamais fonctionner.
    Langages : Java, SQL
    Outils : Eclipse, Intellij
    SGBD : Oracle, PostgreSQL
    Mes Articles

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Requete sous Access avec AND et OR
    Par paflolo dans le forum Langage SQL
    Réponses: 2
    Dernier message: 28/02/2006, 10h35
  2. Bulk avec un CSV mal écrit
    Par mandaillou dans le forum MS SQL Server
    Réponses: 7
    Dernier message: 16/01/2006, 12h16
  3. Réponses: 3
    Dernier message: 17/08/2005, 17h27
  4. Appeler une fonction avec/sans parenthèses
    Par haypo dans le forum Algorithmes et structures de données
    Réponses: 8
    Dernier message: 29/12/2002, 18h48

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo