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 :

fetch="join" dans mapping ignore en HQL ?


Sujet :

Hibernate Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre Expert
    Avatar de azerr
    Homme Profil pro
    Ingénieur Etude JEE/Eclipse RCP
    Inscrit en
    Avril 2006
    Messages
    942
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur Etude JEE/Eclipse RCP
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2006
    Messages : 942
    Par défaut fetch="join" dans mapping ignore en HQL ?
    Bonsoir,
    d'après les tests que j'ai pu effectuer en Hibernate 3 avec l'utilisation de fetch="join" sur un many-to-one dans un mapping hibernate, je viens a la conclusion que :

    1. lorsque je fait session.get, le fetch est interprete, en effet la requete SQL contient bien une jointure ouverte (generation du (+) dans la jointure (je suis en Oracle)).

    2. lorsque j'utilise HQL session.find("from ..."), l'attribut fetch de mon mapping est ignoré. Je suis oblige de le forcer dans ma requete HQL comme

    String hql = "from .... left join fetch";

    pour qu'il me genere la requete SQL avec la jointure ouverte.

    Est ce un comportement normal d'hibernate, un bug, ou ai je oublié de configurer autre chose?

    Merci de vos reponses.

    Angelo

  2. #2
    Membre émérite Avatar de BizuR
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    688
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 688
    Par défaut
    Je dirai que le comportement est normal vu que tu demandes du HQL. Ca impliquerait peut etre que Hibernate le considère comme une requete à part puisque tu n'utilise NI le get (qui signifir une récupération normale) NI l'API Criteria. Maintenant je me trompe peut etre et cela reste à vérifier

    Cette section détaille la question je dirai mais ne donne de réponse précise :
    http://www.hibernate.org/hib_docs/v3...queryhql-joins

  3. #3
    Membre Expert
    Avatar de azerr
    Homme Profil pro
    Ingénieur Etude JEE/Eclipse RCP
    Inscrit en
    Avril 2006
    Messages
    942
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur Etude JEE/Eclipse RCP
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2006
    Messages : 942
    Par défaut
    Bonjour BizuR,
    merci de ta reponse, je suis d'accord avec ce que tu dis, mais je voulais etre sur de ce comportement. Je trouve que sur ce point ci, la documentation hibernate devrait préciser explicitement ce comportement.

    Angelo

Discussions similaires

  1. [vbnet 1.1]Inserer deux simple quote sans texte dans une db
    Par ChristopheOce dans le forum Windows Forms
    Réponses: 8
    Dernier message: 15/03/2007, 08h51

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