estoy usando una consulta HQL para conseguir un montón de objetos de estado, así:cfqueryparam con una consulta HQL ColdFusion
<cfquery name="LOCAL.qStates" dbtype="hql">
from States where countryID = #ARGUMENTS.countryID#
order by name asc
</cfquery>
Esto funciona bien. Sin embargo, me criaron bien y quiero usar cfqueryparam
, a ser posible de este modo:
<cfquery name="LOCAL.qStates" dbtype="hql">
from States
where countryID = <cfqueryparam cfsqltype="cf_sql_integer" value="#ARGUMENTS.countryID#" />
order by name asc
</cfquery>
Pero esto genera un error:
[empty string] java.lang.NullPointerException at org.hibernate.impl.AbstractQueryImpl.verifyParameters(AbstractQueryImpl.java:353) at org.hibernate.impl.AbstractQueryImpl.verifyParameters(AbstractQueryImpl.java:323) at org.hibernate.impl.QueryImpl.list(QueryImpl.java:98) at coldfusion.orm.hibernate.HibernatePersistenceManager._executeHQL(HibernatePersistenceManager.java:822) at coldfusion.orm.hibernate.HibernatePersistenceManager.executeHQL(HibernatePersistenceManager.java:751) at ....
Alguien sabe cómo evitar esto y utilizar cfqueryparam
con cfquery
¿Consultas HQL?
¡Gracias de antemano!
Realmente quiero usar 'cfquery'. Esta respuesta significa que estoy de vuelta a ysing 'ORMExecuteQuery()' que no es lo que quiero. –
@ciaran - ¿Por qué quieres usar cfquery? ¿Estás tratando a orm como una capa de abstracción sql? si es así, te falta algo/la mayor parte de la energía – Antony
@Antony: ¡La razón principal es que no tengo que hacer una fea concatenación de cadenas y puedo escribir sentencias de líneas múltiples que son legibles! :) –