java - Hibernate 中 native 查询的命名参数出现奇怪的异常

标签 java hibernate

我有一个疑问

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/

相关文章:

java - Android Studio 上使用 OpenCV 库的多个 dex 文件

java - 如何重复使用我的扫描仪?

java - 如何在 Java 中使用 JCheckBox 避免冗余编码

java - 为什么LinkedHashMap不提供索引访问?

java.lang.ClassCastException : [Ljava. lang.Object;不能转换为 entity.UserEntity

java - hibernate : org. hibernate.LazyInitializationException:未能延迟初始化角色集合:没有 session 或 session 已关闭

java - Retrofit2:将带有动态键的 JSON 转换为 Map<String, Model>,其中 Model 也包含这些键

java - 如何在 Hibernate 中进行 SELECT 查询包括子查询 COUNT(*)

hibernate - 不存在具有给定标识符的行 hibernate

java - 服务器上存在的交易从不调用