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 :

[Hibernate] Inner join dans hibernate


Sujet :

Hibernate Java

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 21
    Points : 15
    Points
    15
    Par défaut [Hibernate] Inner join dans hibernate
    Bonjour,
    actuellement je découvre Hivbernate mais je n'arrive pas a comprendre le fonctionnement des INNER JOIN.
    Est ce que quelqu'un pourrait juste me donner un example d'un requete version Hibernate en HQL ou Criteria qui ressemblerait à ca :


    select ACCOUNT_NUMBER
    from "ACCOUNT
    INNER JOIN COMPANY ON ACCOUNT.ID_COMPANY = COMPANY.ID_COMPANY
    INNER JOIN RIGHT_COMPANY ON COMPANY.ID_COMPANY = RIGHT_COMPANY.ID_COMPANY
    INNER JOIN USER ON USER.ID_USER = RIGHT_COMPANY.ID_USER
    WHERE USER.USERNAME like 'toto'
    Cela doit commencer comme ca :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    session.createCriteria(Account.class)
                            	.createAlias("company", "compa")
    Où company est l'objet dans le classe Account qui matérialise une company.
    merci bien

  2. #2
    Membre averti
    Inscrit en
    Août 2005
    Messages
    352
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 352
    Points : 427
    Points
    427
    Par défaut
    Tu dois pouvoir utiliser des jointures implicites :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    select compte.account_number 
    from Account compte
    where compte.company.user.username like '%toto%'
    ou
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    session.createCriteria(Account.class)
            .add(Expression.like("company.user.username", "%toto%");
    Tu peux également pouvoir les rendre plus explicites :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    select compte.account_number 
    from Account compte
    join compte.company compa
    where compa.user.username like '%toto%'
    ou
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    select compte.account_number 
    from Account compte
    join compte.company compa
    join compa.user utilisateur
    where utilisateur.username like '%toto%'
    Je n'ai pas testé mais ca doit marcher.

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 21
    Points : 15
    Points
    15
    Par défaut
    Ok merci je vais tester ca demain.
    Le HQL me parait plus intuitif , les criterias sont un peu déroutant je trouve de prime abord

  4. #4
    Membre du Club
    Inscrit en
    Décembre 2002
    Messages
    67
    Détails du profil
    Informations forums :
    Inscription : Décembre 2002
    Messages : 67
    Points : 55
    Points
    55
    Par défaut
    il est tout à fait possible d'utiliser inner join avec hibernate et le hql.
    http://www.hibernate.org/hib_docs/re.../queryhql.html
    C'est un lien directement sur le manuel utilisateur de hibernate.
    Sur le site http://www.hibernate.org tu auras plus de précisions avec une bonne faq et un forum

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

Discussions similaires

  1. Héritage dans Hibernate (joined-subclass)
    Par tceleste dans le forum Hibernate
    Réponses: 0
    Dernier message: 23/09/2010, 16h53
  2. plusieurs INNER JOIN dans la requête
    Par naroco dans le forum Requêtes
    Réponses: 3
    Dernier message: 10/03/2010, 11h14
  3. hibernate inner join
    Par grospatapouf dans le forum Hibernate
    Réponses: 4
    Dernier message: 01/09/2009, 18h33
  4. Plusieurs INNER JOIN dans une requete
    Par droudrou2000 dans le forum Requêtes et SQL.
    Réponses: 16
    Dernier message: 26/02/2009, 09h58
  5. Nombre de clauses ON dans un INNER JOIN
    Par Shadow aok dans le forum Requêtes
    Réponses: 5
    Dernier message: 30/06/2004, 15h42

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