CFQUERYPARAM 抛出 HQL 的"不兼容类型"错误



我的简单查询:

<CFQUERY name="thisRecipePreps" dbtype="hql">
FROM recipeItems r
WHERE r.recipe = <cfqueryparam value="#thisrecipeid#">
AND r.otherRecipe_id <> <cfqueryparam value="0">
</CFQUERY>

我的对象recipeItems与"recipe"有"多对一"关系,后者将返回一个数组(我相信(。我想通过recipe_id过滤结果,当我没有CFQUERYPARAM标签时,这是有效的,但像这样它会抛出错误:

Error casting an object of type java.lang.Integer to an incompatible type. This usually indicates a programming error in Java, although it could also mean you have tried to use a foreign object in a different way than it was designed.

我认为该错误意味着"thisrecipeid"变量的类型为"integer",但"r.recipe"不是。

我想(也需要(使用CFQUERYPARAM,但我似乎无法。

感谢您的任何见解

注意:我从网站和会员那里得到了建议,认为这是一个与另一个本应解决的问题相同的问题(https://stackoverflow.com/a/4185205/4575762)。然而,通过删除两个实体之间的关系解决了这个问题,这完全违背了最初使用ORM/HHibernate的目的。通过打破其他东西来解决问题并不是解决问题。此外,该问题上的错误显示了"NULL指针"问题,该错误是不兼容的类型问题。

空白可能会导致HQL dbtype出现问题https://blog.adamcameron.me/2013/03/whitespace-in-hql-causes-exceptions.html

相关内容

  • 没有找到相关文章

最新更新