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

Java EE Discussion :

Clause WHERE et Collection


Sujet :

Java EE

  1. #1
    Membre à l'essai
    Inscrit en
    Juillet 2002
    Messages
    32
    Détails du profil
    Informations forums :
    Inscription : Juillet 2002
    Messages : 32
    Points : 24
    Points
    24
    Par défaut Clause WHERE et Collection
    Bonjour à toutes et tous,

    J'ai besoin de réaliser une requête EJB-QL dont le résultat dépend entre autres du fait qu'un des attributs (de type enum) de mon EJB Entity appartient ou non à une Collection (de type enum) passé en paramètre sous une forme 'nommée'.

    Pour cela, je me suis orienté vers la requête suivante...
    SELECT t FROM Toto t, Titi q WHERE (t.qId=id) AND ... AND (t.status MEMBER OF :statusList)

    ...avec côté appelant...
    MonEnum[] statusList = new MonEnum[]{...};
    query.setParameter("statusList", statusList);

    ... mais (sous Glassfish) je me prends une exception que je ne parviens pas à résoudre :

    Exception Description: Syntax error parsing the query [...: SELECT t FROM Toto t, Titi q WHERE (t.qId=id) AND ... AND (t.status MEMBER OF :statusList)], line x, column y: syntax error at [MEMBER].
    Internal Exception: line x:y: expecting RIGHT_ROUND_BRACKET, found 'MEMBER'

    Quelqu'un saurait'il m'expliquer qu'elle est l'erreur de syntaxe (visiblement) que je commets ?

    Merci pour votre aide.

  2. #2
    Membre du Club
    Inscrit en
    Mars 2007
    Messages
    61
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 61
    Points : 44
    Points
    44
    Par défaut
    utiliser le IN au lieu de MEMBER

    et essaye

  3. #3
    Membre à l'essai
    Inscrit en
    Juillet 2002
    Messages
    32
    Détails du profil
    Informations forums :
    Inscription : Juillet 2002
    Messages : 32
    Points : 24
    Points
    24
    Par défaut
    Ben avec 'IN' c'est pas mieux, j'avais déjà essayé et de plus je crois comprendre d'après les specs que ce mot clé doit-être utilisé qu'avec des constantes et non des paramètres...

    J'ai depuis hier abandonné la requête EJB-QL et crée un NativeQuery.

Discussions similaires

  1. [super requete] Dumper un model avec une clause where
    Par elievar dans le forum Langage SQL
    Réponses: 3
    Dernier message: 16/03/2005, 17h05
  2. Ordre des tests dans la clause WHERE
    Par Tans98 dans le forum Langage SQL
    Réponses: 6
    Dernier message: 22/09/2004, 10h52
  3. Problème clause WHERE
    Par nesbla dans le forum Langage SQL
    Réponses: 3
    Dernier message: 11/06/2004, 15h07
  4. probleme avec le caractere 'Z' dans ma clause WHERE
    Par dibox dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 01/04/2004, 12h21
  5. [ character en simple cote ] clause Where
    Par hocinema dans le forum DB2
    Réponses: 3
    Dernier message: 20/02/2004, 10h17

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