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 :

ReQuete hql & mapping @OneToMany


Sujet :

Hibernate Java

  1. #1
    Membre confirmé Avatar de Bigoodheart
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    154
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 154
    Par défaut ReQuete hql & mapping @OneToMany
    Bonjour,


    J'ai un problème pour exécuter une requête hql ,je ne sais pas comment acceder à un bean à partir d'une set liste ,par exemple comme dans mon exemple :
    Dans ma classe Location j'ai le mapping :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    @OneToMany(targetEntity = LinkMmdLoc.class, cascade = { CascadeType.ALL }, fetch = FetchType.LAZY)
    	@JoinColumn(name = "zgm25")
    	private Set<LinkMmdLoc> lstLinkMmdLoc;
    alors pour acceder à "LinkMmdLoc" je fais un Location.lstLinkMmdLoc.LinkMmdLoc et ça marche pas !

    Voici ma requete hql :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Query req = getEntityManager().createQuery("SELECT ob2 FROM Location as ob2  WHERE ob2.lstLinkMmdLoc.LinkMmdLoc.mmdContacts.role.role_des='MMD Local Expert' ");
    Voici le message d'erreur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    could not resolve property: LinkMmdLoc o
    et pourtant ça marche pour l'affichage avec :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    LinkMmdLoc.getMmdContacts().getrole().getrole_des
    Quelq'un pourrait m'aider ? Merci

  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
    Il faut passer par une jointure:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    SELECT ob2
    FROM Location as ob2 inner join ob2.lstLinkMmdLoc listeLoc
    WHERE listeLoc.LinkMmdLoc.mmdContacts.role.role_des='MMD Local Expert'

  3. #3
    Membre confirmé Avatar de Bigoodheart
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    154
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 154
    Par défaut
    Merci je vais essayer ça et je vous tiendrai au courant

  4. #4
    Membre confirmé Avatar de Bigoodheart
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    154
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 154
    Par défaut
    Marche po

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    could not resolve property of : package.LinkMmdLoc [SELECT ob2 FROM package.Location as ob2 inner join ob2.lstLinkMmdLoc listeLoc WHERE ((listeLoc.LinkMmdLoc.mmdContacts.role.role_des='MMD Local Expert') )]

  5. #5
    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
    Tu le sors d'où ton "package" ?

  6. #6
    Membre confirmé Avatar de Bigoodheart
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    154
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 154
    Par défaut
    C'est juste sur le forum que j'ai remplacé par "package" ..question de confidentialité lol sinon c'est pas mon vrai package qui pose probléme !ya aucun soucis la dessus ,tous mes bean sont dans le même package :business

  7. #7
    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
    Elle existe cette propriété ? "LinkMmdLoc"

  8. #8
    Membre confirmé Avatar de Bigoodheart
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    154
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 154
    Par défaut
    oui !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    public class LinkMmdLoc {
     
    	@Id
    	private String zgm25;
    	@Id
    	private String mmd_c;
     
    	@ManyToOne(targetEntity = MmdContacts.class)
    	@JoinColumn(name = "mmd_c", insertable = false , updatable = false)
    	private MmdContacts mmdContacts;
     
    	@ManyToOne(targetEntity = Location.class)
    	@JoinColumn(name = "zgm25", insertable = false , updatable = false)
    	private Location location;
    J'ai zappé les setter et les getters pour que ça fasse pas long !

  9. #9
    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
    Essaie de comprendre ce que tu écris, tu mélanges tout, attributs, noms de classes...
    Ca devrait mieux fonctionner:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    SELECT ob2
    FROM Location as ob2 inner join ob2.lstLinkMmdLoc listeLoc
    WHERE listeLoc.mmdContacts.role.role_des='MMD Local Expert'

  10. #10
    Membre confirmé Avatar de Bigoodheart
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    154
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 154
    Par défaut
    ça a marché merci !

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

Discussions similaires

  1. mapping requete HQL et condition IN
    Par Nounoursonne dans le forum Hibernate
    Réponses: 0
    Dernier message: 18/05/2009, 10h20
  2. [Hibernate] problème requete HQL !
    Par fadjerx dans le forum Hibernate
    Réponses: 6
    Dernier message: 11/08/2007, 12h45
  3. Réponses: 8
    Dernier message: 27/04/2007, 10h47
  4. Requete HQL avec jointure
    Par chriscoolletoubibe dans le forum Hibernate
    Réponses: 50
    Dernier message: 24/04/2007, 15h54
  5. Requete HQL hibernate
    Par DanZzz dans le forum Hibernate
    Réponses: 4
    Dernier message: 05/06/2006, 14h59

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