Question

J'ai une entité qui pourrait avoir une entité mère. Je veux exécuter cette requête:

entité de sélection où entity.parent.id = 9

une partie de l'entité ne dispose pas de parents (entity.parent = null) et N HIBERNATE ne réussit pas à exécuter cette requête (QueryException - Impossible de résoudre la propriété)

Comment puis-je utiliser HQL pour obtenir toutes les entités qui a des entités parents avec id 9, en évitant ceux que le parent est nul?

(ajout entity.parent est non nulle avant la entity.parent.id = 9 résultats dans la même exception)

Il y a une possibilité d'utiliser une des instructions select imbriquées, mais je ne pense pas que ce soit la solution la plus efficace.

Était-ce utile?

La solution

Il vous manque une clause de from dans votre requête HQL. Essayez de le réécrire comme ceci:

from entity where entity.parent is not null and entity.parent.id = 9

Je ne sais pas, mais probablement la partie entity.parent is not null n'est pas nécessaire. Je suppose que NHibernate va gérer ce scénario.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top