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 3.2.5] Jointure par Criteria


Sujet :

Hibernate Java

  1. #1
    Membre à l'essai
    Inscrit en
    Juillet 2007
    Messages
    24
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 24
    Points : 10
    Points
    10
    Par défaut [Hibernate 3.2.5] Jointure par Criteria
    Bonjour à tous,
    J'ai le pb suivant :

    J'ai 2 classes Java :
    Terminal : qui possède les attributs : id, ...
    et
    Routing : qui possède les attributs id, terminal, allowed (boolean), ...

    Je dois récupérer tous les objets de la classe Terminal qui sont référencés dans un objet de la classe Routing, pour lequel l'attribut allowed est a true.

    Le pb que je rencontre, c'est que ma classe Terminal ne possède pas de liens vers Routings. et que je ne peux pas me permettre de faire un criteria sur la classe Routing

    en SQL, ma requete serait :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    select t.ID from TERMINAL t
      inner join ROUTING r on t.ID=r.TERMINAL
    where
      r.ALLOWED=1
    coment le faire en critéria ?
    Merci.

  2. #2
    Membre habitué
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    156
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 156
    Points : 191
    Points
    191
    Par défaut
    Un truc du genre ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    List terminaux = sess.createCriteria(Routing.class)
        .add( Restrictions.eq("allowed", Boolean.True)
        .add( PropertyProjection.property("terminal"))
        .list();

  3. #3
    Membre à l'essai
    Inscrit en
    Juillet 2007
    Messages
    24
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 24
    Points : 10
    Points
    10
    Par défaut
    Merci bcp phantomass, ça marche parfaitement.
    J'ai rajouté une projection pour éliminer les doublons :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    List terminaux = session.createCriteria(CallRouting.class)
      .add( Restrictions.eq("allowed", true))
      .setProjection(Projections.property("terminal"))
      .setProjection(Projections.distinct(Projections.property("terminal")))
      .list();

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

Discussions similaires

  1. [Hibernate 3] [Criteria] Faire une jointure avec Criteria
    Par bouchette63 dans le forum Hibernate
    Réponses: 30
    Dernier message: 07/06/2010, 17h54
  2. Criteria et jointure par Id
    Par stylatone dans le forum Hibernate
    Réponses: 1
    Dernier message: 17/03/2009, 11h54
  3. recherche de jointure par requête
    Par vacknov dans le forum Requêtes
    Réponses: 4
    Dernier message: 25/07/2006, 22h21
  4. [Hibernate] Requete basé sur l'API Criteria
    Par K-Kaï dans le forum Hibernate
    Réponses: 16
    Dernier message: 16/06/2006, 16h09
  5. [Hibernate]Traduire une sous requète en criteria?
    Par djodjo dans le forum Hibernate
    Réponses: 2
    Dernier message: 15/06/2006, 13h53

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