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 :

[Query] Pb de requête


Sujet :

Hibernate Java

  1. #1
    Membre du Club
    Inscrit en
    Avril 2006
    Messages
    129
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 129
    Points : 63
    Points
    63
    Par défaut [Query] Pb de requête
    Bonjour,

    Voici mon schéma de base de donnée :

    Competence (id_com, comLibelle)
    Candidat(id_can, nom_candidat)
    CompCand(id_com, id_can)

    Et je désire effectuer la requête suivante à l'aide d'hibernate :
    Rechercher tous les candidats qui ont une liste de compétences.

    Voila ce que j ai fait :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    	List resultat = HibernateUtil.getSessionFactory().getCurrentSession().createQuery("from Competence comp where comp.comLibelle in (:listeCompetences)").setParameterList("listeCompetences", listeCompetences).list();
     
    				List resultat1 = HibernateUtil.getSessionFactory().getCurrentSession().createSQLQuery("select distinct candcomp.id_can from CandComp candcomp where candcomp.competence in (:resultat)").setParameterList("resultat", resultat).list();
    A savoir que la listeCompetences est la liste que je recherche.

    Le problème de cette requête et qu'elle me retourne tous les candidats ou il y a au moins une compétence de la liste. Et je ne veux que les candidats qui ont toutes les compétences de la liste.

    Merci pour votre aide

  2. #2
    Membre régulier Avatar de et.rond.et.rond
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    110
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 110
    Points : 119
    Points
    119
    Par défaut
    c'est le IN qui pose "problème" : il sélectionne l'enregistrement dès qu'une des valeurs du IN est présente

    essaye avec une jointure externe où tu refuse ceux à qui il manque une compétance en faisant un produit et un GROUP BY

  3. #3
    Membre du Club
    Inscrit en
    Avril 2006
    Messages
    129
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 129
    Points : 63
    Points
    63
    Par défaut
    Oula ...
    Concrétement ca donne quoi ? jointure externe ??

  4. #4
    Membre régulier Avatar de et.rond.et.rond
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    110
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 110
    Points : 119
    Points
    119
    Par défaut
    c'est plus un problème pour la forum SQL que pour Hibernate

  5. #5
    Membre éclairé Avatar de BizuR
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    688
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 688
    Points : 757
    Points
    757
    Par défaut
    Tu peux peut etre aussi utiliser les "Example" de l'API Criteria pour trouver l'ensemble des objets répondant à ce que tu recherches exactement

Discussions similaires

  1. Query was empty requête SQL
    Par clementdevelop dans le forum Requêtes
    Réponses: 1
    Dernier message: 17/05/2013, 16h28
  2. Content Query Web part requètes
    Par arkar dans le forum Configuration
    Réponses: 0
    Dernier message: 29/06/2012, 09h19
  3. [Query] Problème de requête
    Par cosmos38240 dans le forum Développement
    Réponses: 6
    Dernier message: 01/06/2012, 22h05
  4. Réponses: 2
    Dernier message: 31/05/2007, 13h20

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