我有一个查询
select ... from x join y on ..
where ... and :age between y.min and y.max
但是当用hibernate执行查询时,我会收到
org.hibernate.QueryParameterException:无法找到命名参数[age]
有什么问题?
答案 0 :(得分:2)
由于您尚未发布实际查询,因此我的摘录中的推断是您在查询中的错误位置使用:age参数。查询的where子句的语法是column_name operator value
,因此您应该使用:age
代替其中一个表的实际列名。您可能要做的是y.min >= :age and y.max <=:age
。
答案 1 :(得分:0)
如果您已正确通过“年龄”,请检查您的Java代码。可能你可能错过了它,或者拼错了它。
如果你也分享你的java边码也会很好。