gpt4 book ai didi

java - hibernate 中的 setParameterList 如何工作?

转载 作者:可可西里 更新时间:2023-11-01 07:20:54 26 4
gpt4 key购买 nike

我在使用 hibernate 的 setParameterList api 时遇到了一些问题。

我正在尝试将集合传递给 SQLQuery 并执行“in”子句搜索。记录存在于数据库中并执行原始查询,我能够检索它们,或者如果我只是将它们替换为相同的Hibernate SQL like emp.emp_name in ('Joe','John'),我能够得到想要的结果集。我很困惑为什么 Hibernate 无法替换 Collection 来代替命名参数。这是代码:

session.createSQLQuery("select emp_id as id from emp where emp.emp_name in (:empNames)")
.addScalar("id",Hibernate.INTEGER)
.setParameterList("empNames",new String[]{"Joe","John"})
.list()

我看过 Hibernate Documentation for setParameterList但我无法推断出这种特殊行为。

最佳答案

怀疑问题正是因为您正在使用createSQLQuery。这里的单个参数需要在实际 SQL 中更改为多个参数,但是通过使用“原始”查询,您告诉 Hibernate 不要弄乱 SQL。

你能改用“正常”的 Hibernate 查询吗?

关于java - hibernate 中的 setParameterList 如何工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9766479/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com