Domanda

Ho un soggetto che potrebbe avere un'entità padre. Voglio eseguire questa query:

selezionare un'entità in cui entity.parent.id = 9

alcune delle entità non ha i genitori (entity.parent = null) e N HIBERNATE non riesce a eseguire questa query (QueryException - Impossibile risolvere proprietà)

Come posso utilizzare HQL per ottenere tutte le entità che ha i genitori entità con id 9, evitando quelli che il genitore è nullo?

(aggiungendo entity.parent non è nullo prima della entity.parent.id = 9 risultati nella stessa eccezione)

C'è la possibilità di utilizzare un istruzioni SELECT nidificate, ma non credo che questa è la soluzione più efficiente.

È stato utile?

Soluzione

Ti manca una clausola from nella query HQL. Provare a riscrivere in questo modo:

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

Non è sicuro, ma probabilmente la parte entity.parent is not null non è necessario. Suppongo che NHibernate gestirà questo scenario.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top