These old forums are deprecated now and set to read-only. We are waiting for you on our new forums!
More modern, Discourse-based and with GitHub/Google/Twitter authentication built-in.

All times are UTC - 5 hours [ DST ]



Forum locked This topic is locked, you cannot edit posts or make further replies.  [ 1 post ] 
Author Message
 Post subject: Blocage avec la clause ON dans un LEFT JOIN
PostPosted: Thu Jul 05, 2007 3:58 am 
Newbie

Joined: Mon Jun 18, 2007 3:48 am
Posts: 7
Location: FRANCE
Hibernate version: 1.0.2.4000

Bonjour,

Je travaille en ce moment sur un projet qui exploite NHibernate.
J'ai le modèle UML Suivant :

[Contact]--->[Telephone]--->[TypeTelephone] ou TypeTelephone peut pour le moment prendre les valeurs "Personnel", "Professionnel" ou "Entreprise".

Je souhaite au travers d'une requête HQL récupérer tous les Contacts présents en base ainsi que leurs téléphones professionnels.

-----------------------------------------------------------------------------

Voici le genre de requête HQL que je souhaiterais ecrire :

SELECT Contact.Nom, Contact.Prenom, TelPro.Numero
FROM Contact Contact
LEFT JOIN Contact.Telephone TelPro ON Telephone.TypeTelephone.Libelle = 'Professionnel'

Le problème est que la clause ON après les LEFT JOIN n'est pas autorisée dans les requêtes HQL.

-----------------------------------------------------------------------------


J'ai alors essayé cette requête :
SELECT Contact.Nom, Contact.Prenom, TelPro.Numero
FROM Contact Contact
LEFT JOIN Contact.Telephone TelPro
WHERE TelPro.TypeTelephone.Libelle = 'Professionnel'

Le problème alors, c'est que cette requête ne remonte que les Contacts ayant un téléphone professionnel or je voudrais aussi avoir ceux qui n'ont pas de téléphone professionnel.


------------------------------------------------------------------------------

Est - ce un "Oubli" de la part des producteurs de NHibernate(Ce qui m'étonnerais), Y a t-il une solution à mon problème, ou est ce qu'il y a une logique qui a sucité le fait que les Clauses ON dans les LEFT JOIN Soient interdites???

Merci pour toute réponse.

ps. Je suis prêt à mettre les mains dans le code pour faire les modifications nécessaires s'il y a besoin, mais j'ai peur de faire des conneries, donc si je me lance, ce serait avec l'aval de quelqu'un de compétent :p


Top
 Profile  
 
Display posts from previous:  Sort by  
Forum locked This topic is locked, you cannot edit posts or make further replies.  [ 1 post ] 

All times are UTC - 5 hours [ DST ]


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum

Search for:
© Copyright 2014, Red Hat Inc. All rights reserved. JBoss and Hibernate are registered trademarks and servicemarks of Red Hat, Inc.