Evitar objeto nulo en HQL consulta de donde cláusula
-
13-09-2019 - |
Pregunta
Tengo una entidad que podría tener una entidad matriz. Quiero ejecutar esta consulta:
selecciona entidad donde entity.parent.id = 9
parte de la entidad no tiene padres (entity.parent = null) y nhibernate no se puede ejecutar esta consulta (QueryException - No se pudo resolver la propiedad)
¿Cómo puedo usar HQL para obtener todas las entidades que tiene padres entidades con el ID 9, evitando los que el padre es nulo?
(añadiendo entity.parent no es nulo antes de la entity.parent.id = 9 resultados en la misma excepción)
No es una opción para utilizar un sentencias de selección anidados, pero no creo que esta es la solución más eficiente.
Solución
se echa en falta una cláusula from
en su consulta HQL. Intente volver a escribir así:
from entity where entity.parent is not null and entity.parent.id = 9
No es seguro, pero probablemente la parte entity.parent is not null
no es necesario. Supongo NHibernate manejará este escenario.