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 :

Aide pour une requête HQL


Sujet :

Hibernate Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre émérite

    Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2007
    Messages
    690
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juillet 2007
    Messages : 690
    Par défaut Aide pour une requête HQL
    Bonjour,
    J'aimerais vos avis et votre aide pour le cas suivant :
    - Une classe A qui est liée par une relation Many to Many à une classe B
    - Je veux faire une requête qui me sort toutes les instances de A qui possèdent une instance de B. En sql sa ferait :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    Select 'champs de a' from A
    Join A_B on A.cle = A_B.cle_A // A_B table de jointure
    Join B on A_B.cle_B = B.cle
     
    Where B.cle = 'mon_filtre'
    Je sèche un peu pour l'écrire en HQL : j'essaye avec sa, mais sa marche pas (biensur !!):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    session.createQuery("from A where B in A.b").list();

  2. #2
    Membre Expert
    Profil pro
    Inscrit en
    Août 2006
    Messages
    3 276
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 3 276
    Par défaut
    Et un truc du genre:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    select a from A a inner join a.b where ...

  3. #3
    Membre émérite

    Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2007
    Messages
    690
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juillet 2007
    Messages : 690
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Query query = session.createQuery("from DocumentRentree as doc inner join Editeur as edit with edit.codeEditeur like '"+editeur.getCodeEditeur()+"'");
    path expected join .... Connais tu cette erreur ???

  4. #4
    Membre Expert
    Profil pro
    Inscrit en
    Août 2006
    Messages
    3 276
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 3 276
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Query query = session.createQuery("from DocumentRentree as doc inner join doc.editeur as edit where edit.codeEditeur like :editeur");
    query.setParameter("editeur", editeur.getCodeEditeur());
    Utilise un setParameter ou un équivalent pour les paramètres.

    Est-ce que editeur est la collection de ta classe DocumentRentree ?
    En gros le inner join fonctionne avec une classe . uneCollection.

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 40
    Par défaut
    Citation Envoyé par ygrim Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Query query = session.createQuery("from DocumentRentree as doc inner join Editeur as edit with edit.codeEditeur like '"+editeur.getCodeEditeur()+"'");
    path expected join .... Connais tu cette erreur ???
    Je suppose que c'est une erreur de saisie mais je pense que le with existe pas en hql

  6. #6
    Membre émérite

    Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2007
    Messages
    690
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juillet 2007
    Messages : 690
    Par défaut
    Salut,
    Non la clause "with" existe en HQL ....
    http://www.hibernate.org/hib_docs/re.../queryhql.html

  7. #7
    Membre expérimenté Avatar de bidi
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    262
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2004
    Messages : 262
    Par défaut
    un truc du genre peut-être? :-)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    from A a where  exists elements(a.b)

  8. #8
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 40
    Par défaut
    Citation Envoyé par ygrim Voir le message
    Salut,
    Non la clause "with" existe en HQL ....
    http://www.hibernate.org/hib_docs/re.../queryhql.html
    OK au temps pour moi, j'avais jamais vu cette cette formulation !

Discussions similaires

  1. Aide pour une requête et left join
    Par Lolo19 dans le forum Langage SQL
    Réponses: 5
    Dernier message: 26/08/2005, 08h09
  2. J'ai besoin de votre aide pour une requête
    Par ovdz dans le forum Langage SQL
    Réponses: 6
    Dernier message: 20/05/2005, 11h42
  3. Demande d'aide pour une requête
    Par arkzor dans le forum Requêtes
    Réponses: 3
    Dernier message: 28/12/2004, 02h40
  4. Besoin d'aide pour une Requête SQL ...
    Par Kokito dans le forum Requêtes
    Réponses: 2
    Dernier message: 07/07/2004, 11h56
  5. besoin d'aide pour une requête
    Par Damien69 dans le forum Langage SQL
    Réponses: 11
    Dernier message: 31/03/2004, 15h38

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