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

Hibernate Java Discussion :

HQL avec une liste


Sujet :

Hibernate Java

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2006
    Messages
    75
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 75
    Par défaut HQL avec une liste
    Bonjour,

    J'ai une requete en HQL:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    select tableTest 
    from TableTest tableTest 
    where tableTest .listVal=<list valeur>"

    Sachant que TableTest est un object qui a un Set listVal de n objects Offre

    j'aimerais savoir comment remplacer <list valeur>

    J'ai fait :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    List listOffre = new ArrayList();
    listOffre.add(offre1);
    listOffre.add(offre2);
     
    String requeteHql=  "select tableTest from TableTest tableTest where tableTest .listVal=" + listOffre ;
     
    ......
    Query query = (Query) session.createQuery(requeteHql);
    mais ça ne marche pas.

    sans le where , ce code fontionne sans probleme (meme avec un where sur les autres variables qui ne sont pas de type SET)

    je vous remercie d'avance

    Cathy

  2. #2
    Membre éprouvé
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    92
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2009
    Messages : 92
    Par défaut
    Tu ne peux pas tester une collection dans un where avec une jointure implicite (where tableTest .listVal = ?). En revanche, il est possible de demander les instances de tableTest dont une offre fait partie. Exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    String hql = "select tableTest from TableTest tableTest where :offre member of tableTest .listVal";
    Query query = (Query) session.createQuery(requeteHql);
    query.setParameter("offre", offre);
    Evidemment, cela nécessite d'exécuter la requête pour chaque offre.

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

Discussions similaires

  1. liaison zone de texte avec une liste
    Par FlIpMaN dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 14/02/2006, 23h39
  2. [MySQL] Problème avec une liste déroulante
    Par leloup84 dans le forum SQL Procédural
    Réponses: 19
    Dernier message: 24/01/2006, 12h57
  3. Réponses: 7
    Dernier message: 24/01/2006, 11h03
  4. alligner des textbox (input) avec une liste
    Par sundjata dans le forum Balisage (X)HTML et validation W3C
    Réponses: 4
    Dernier message: 20/01/2006, 15h16
  5. Remplir 3 champs textes différents avec une liste déroulante
    Par azorol dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 20/12/2005, 00h04

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