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] Pb avec relation ManyToMany


Sujet :

Hibernate Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : France, Puy de Dôme (Auvergne)

    Informations forums :
    Inscription : Juillet 2003
    Messages : 43
    Par défaut [HQL] Pb avec relation ManyToMany
    Bonjour,

    Je débute avec Hibernate et HQL. J'ai pas vraiment trouvé de doc correspondante ou j'ai mal regardé.
    Alors voila. J'ai une classe User Qui possède une relation ManytoMany unidirectionnelle avec la classe Role :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    Classe User{
    ...
        @ManyToMany(fetch = FetchType.EAGER) 
        @JoinTable(
                name="user_role",
                joinColumns = { @JoinColumn( name="user_id") },
                inverseJoinColumns = @JoinColumn( name="role_id")
        )    
        public Set<Role> getRoles() {
            return roles;
        }
    ...
    }
    Mon but est de charger tous les utilisateurs possédant un rôle particulier.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    /**
    * @see org.appfuse.dao.UserDao#getUsersByRole()
    */
    public List<User> getUsersByRole(Role role) {
      return getHibernateTemplate().find("from User u join u.roles role where role.id = ? order by upper(u.username)", role.getId() );
    }
    Ca ne me retourne rien ???
    Vous avez une solution ?
    Julien Chanséaume.

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : France, Puy de Dôme (Auvergne)

    Informations forums :
    Inscription : Juillet 2003
    Messages : 43
    Par défaut
    J'ai trouvé ça qui m'a l'air de fonctionner :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    /**
     * @see org.appfuse.dao.UserDao#getUsersByRole(org.appfuse.model.Role)
     */
    @SuppressWarnings("unchecked")
    public List<User> getUsersByRole(Role role) {
      org.hibernate.Query query = getHibernateTemplate().getSessionFactory().getCurrentSession()
                    .createQuery("select u from User u join u.roles role where :role = role order by upper(u.username)");
      query.setParameter("role", role);
      return query.list();       
    }

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 30/09/2011, 11h01
  2. [Criteria] Double relation @ManytoMany pas récupéré avec criteria
    Par amaury972 dans le forum Hibernate
    Réponses: 0
    Dernier message: 27/09/2011, 10h08
  3. [2.x] Construction Form avec relation ManytoMany
    Par tbreton dans le forum Symfony
    Réponses: 0
    Dernier message: 12/09/2011, 10h13
  4. Problème pour requeter avec une relation manyToMany
    Par fab76000 dans le forum Hibernate
    Réponses: 0
    Dernier message: 26/04/2011, 17h32
  5. Réponses: 8
    Dernier message: 27/02/2009, 01h37

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