NHibernate HQL ne prend-il pas en charge le mot clé «avec»?
-
06-07-2019 - |
Question
J'essaie de créer un HQL pouvant laisser des valeurs de jointure à partir d'une collection, afin de me donner la chance de vérifier que "" is null". dessus.
Tiré de l'exemple de hibernate manual:
from Cat as cat left join cat.kittens as kitten with kitten.bodyWeight > 10.0
ne semble pas fonctionner dans NHibernate, car il ne reconnaît pas le "avec" mot-clé. Sinon, comment pouvez-vous laisser la jointure et vérifier les entrées sans correspondance si vous ne pouvez pas spécifier de clauses de jointure directement dans votre jointure, contrairement à votre déclaration WHERE?
J'utilise NHibernate 2.0.0.
La solution
Malheureusement, ceci n’est pas supporté par NHibernate. demandée pour la première fois en 2005 , elle est de loin la fonctionnalité la plus demandée.
Autres conseils
Je pense que vous pouvez contourner le problème en utilisant une jointure externe, puis procédez comme suit:
from Cat c
left join c.Kittens as kitten
where kitten.bodyweight > 10 or kitten.bodyweight is null
Apparemment, ils y travaillent ... https://nhibernate.jira.com/browse/NH-514
J'ai reçu hier un rapport de mise à jour de la part de NHibernate JIRA. Ce problème devrait être résolu dans NHibernate v2.1.0 Alpha 3:)