我有一个疑问
select ... from x join y on ..
where ... and :age between y.min and y.max
但是当使用 hibernate 执行查询时我收到
org.hibernate.QueryParameterException: could not locate named parameter [age]
出了什么问题?
最佳答案
由于您尚未发布实际的查询,因此我从您的代码片段中推断出您的 :age 参数位于查询中的错误位置。查询的 where 子句的语法为 column_name operator value
那么你应该用什么来代替 :age
是您的表之一的实际列名称。您可能想做的是 y.min >= :age and y.max <=:age
.
关于java - Hibernate 中 native 查询的命名参数出现奇怪的异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10682896/