- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想有效地制作我的小型 Spring 项目。所以我在 hql 中使用 IN
子句而不是使用循环。
01) setParameterList()
中的问题
To use
setParameterList()
, we have to pass list object
List<Department> listDeptmntId = reportService.listDepartmentID(companyId); //list of objects
String hql = "select s.department.departmentName, g.dateTime from Gauge g inner join g.survey s where s.department in (:dpts)";
Query query = sessionFactory.getCurrentSession().createQuery(hql);
query.setParameterList("dpts",listDeptmntId);
查询工作正常。但这仅返回一个(listDeptmntId
列表中的第一个对象)结果集,不返回其他结果。
我尝试使用以下方法传递像[1,2,3]这样的整数列表也不起作用。
List<Integer> dptIds=listDeptmntId.stream().map((Department::getDepartmentId()).collect(Collectors.toList());
02) setParameter()
中的问题
int cId=10;
String hql="...... companyId=:id"
Query query = sessionFactory.getCurrentSession().createQuery(hql);
query.setParameter("id",cId);
有时,当我使用参数传递 ("=:") 时,它不适用于 整数 。但是像下面这样直接设置变量来查询是可行的
int cId=10;
String hql="...... companyId="+cId
Query query = sessionFactory.getCurrentSession().createQuery(hql);
我的代码可能是错误的,因为我正在阅读电子书并引用 Material 来完成该项目。先感谢您。
最佳答案
我通常使用 java.sql.Array
执行 IN(?, ..., ?)
。
long[] deptIds = listDeptmntId.toArray(new long[listDeptmntId.size()];
java.sql.Array array = conn.createArrayOf("LONG", deptIds);
query.setPameter("depts", array);
关于java - setParameterList() 不返回完整结果集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46154813/
我想有效地制作我的小型 Spring 项目。所以我在 hql 中使用 IN 子句而不是使用循环。 01) setParameterList() 中的问题 To use setParameterList
我有一个包含 8000 项的整数数组列表。 然后我使用 setParameterList 方法在 hql 中设置该数组列表。 只是一个示例查询 return (Integer) sessionFact
我在 Hibernate 中有 native SQL 查询: SELECT * FROM my_table where id IN (:ids) 我想替换:ids命名参数为 List . Query
我在使用 hibernate 的 setParameterList api 时遇到了一些问题。 我正在尝试将集合传递给 SQLQuery 并执行“in”子句搜索。记录存在于数据库中并执行原始查询,我能
我正在构建一个查询,我想在其中传递一个集合作为参数: List items = new LinkedList(); //adding optional items Query query = s.ge
错误: System.Data.SqlClient.SqlException: Incorrect syntax near ',' 代码: IQuery permissionTypes; if (re
我是一名优秀的程序员,十分优秀!