ColdFusion HQL J'utilise une requête HQL pour obtenir un tas d'objets d'état comme ceci:En utilisant cfqueryparam avec une requête
<cfquery name="LOCAL.qStates" dbtype="hql">
from States where countryID = #ARGUMENTS.countryID#
order by name asc
</cfquery>
Cela fonctionne très bien. Cependant, j'ai été élevé bien et je veux utiliser cfqueryparam
, idéalement comme ceci:
<cfquery name="LOCAL.qStates" dbtype="hql">
from States
where countryID = <cfqueryparam cfsqltype="cf_sql_integer" value="#ARGUMENTS.countryID#" />
order by name asc
</cfquery>
Mais cela jette une erreur:
[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 ....
Quelqu'un sait comment contourner ce problème et utiliser cfqueryparam
avec cfquery
Requêtes HQL?
Merci d'avance!
Je veux en fait utiliser 'cfquery'. Cette réponse signifie que je suis de retour à ysing 'ORMExecuteQuery()' ce qui n'est pas ce que je veux. –
@ciaran - pourquoi voulez-vous utiliser cfquery? Traitez-vous orm comme une couche d'abstraction sql? si c'est le cas, vous manquez une partie/la majeure partie de la puissance – Antony
@Antony: La raison principale est que je n'ai pas à faire de concaténation de chaînes moche et que je peux écrire des instructions multi-lignes lisibles! :) –