Ich versuche, eine NHibernate HQL-Abfrage zu schreiben, die Verwendung von Klammern in der Where-Klausel macht. Der HQL-Parser scheint jedoch meine Klammern zu ignorieren, wodurch sich die Bedeutung meiner Anweisung ändert. Kann jemand etwas Licht in die Angelegenheit bringen?
Die folgende HQL-Abfrage:
from WebUser u left join fetch u.WebUserProfile left join fetch
u.CommunicationPreferences where (u.CommunicationPreferences.Email = 0 and
u.SyncDate is not null) or u.DateDeleted is not null
übersetzt in:
from WebUser webuser0_
left outer join WebUserProfile webuserpro1_
on webuser0_.UserId = webuserpro1_.WebUserId
left outer join WebUserCommunicationPreferences communicat2_
on webuser0_.UserId = communicat2_.UserId
where communicat2_.Email = 0
and (webuser0_.SyncDate is not null)
or webuser0_.DateDeleted is not null
Gracias
Jon