- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我很难理解我在 HQL 查询中的错误:
public List<Pats> getIds(List<String> patIds) {
Session session = getSession();
String hql = "from OurPats where patId = any (:patIds)";
// String hql = "from OurPats where patId in (:patIds)";
return session.createQuery(hql).setParameterList("patIds", patIds).list();
...注释掉的行正常工作,但我想要非工作 ANY 比较的功能,因为 patIds.size() 可以大于 2^15(导致 postgresql 中断)。
从http://docs.jboss.org/hibernate/core/3.3/reference/en/html/queryhql.html来看ANY 函数应该工作。在其他论坛问题中,人们说不要使用上面链接中规定的元素函数(我尝试使用元素,但出现 IDENT 错误)。上面的代码产生了一个 org.hibernate.hql.ast.QuerySyntaxException: unexpected token::错误。
有什么想法吗?感谢您的帮助。
最佳答案
据我所知,= ANY
等同于 IN
(我认为优化器会将它们转换为相同的查询)。来自 PostgreSQL 文档:
9.16.4. ANY/SOME
expression operator ANY (subquery)
expression operator SOME (subquery)The right-hand side is a parenthesized subquery, which must return exactly one column. The left-hand expression is evaluated and compared to each row of the subquery result using the given
operator
, which must yield a Boolean result. The result ofANY
is "true" if any true result is obtained. The result is "false" if no true result is found (including the special case where the subquery returns no rows).
SOME
is a synonym forANY
.IN
is equivalent to= ANY
.
所以我不认为使用 = ANY
会解决您的问题。
当然,我没有上下文,但您确定执行超过 2^15 次 OR
比较真的有意义吗?
关于java - hibernate HQL 查询 : How to properly use ANY function in where clause?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3267138/
MySQL 首先执行什么:WHERE 子句还是ORDER BY 子句? 我问的原因是确定我是否应该为给定的列添加索引。 我有如下表格: | Column | Type | Inde
如果您要在 SQL 查询中连接多个表,您认为将连接语句放在什么地方比较好:在 FROM 子句或 WHERE 子句中? 如果您打算在 FROM 子句中执行它,您如何格式化它以使其清晰易读? (我说的是一
mysql新版本与only_full_group_by的问题 我需要使用 Group by (col_id) 和 order by (date) 获取表值我在 mysql 中的代码如下: SELECT
获取异常: With-clause referenced two different from-clause elements 使用以下实体执行以下查询时: @Entity public class
我已经编写查询以从作为表 tbl_states 的主键的 tbl_summer 表中获取状态为事件的不同 stateID。 我想要按字母顺序列出不同的州名。实际上我是从以下查询中得到的,但字母顺序没有
我试图找出以下 2 个查询之间的区别 查询 1: 其中我在子句中给出了条件 'Orders.OrderID != null' SELECT Customers.CustomerName, Orders
我有两个模型: const User = sequelize.define('User', { email: { type: DataTypes.STRING, },
我正在尝试在我的 JPA 存储库之一中使用内部联接进行选择 查询: @Query(value = "select wm.WagerIdentification, wm.BoardNumber, wm.
我正在尝试从表中获取记录总数并使用以下 MySQL 查询: SELECT COUNT(*) AS cnt FROM `info` WHERE 1 GROUP BY FROM_UNIXTIME(sign
我开始使用 Hibernate 并且我正在使用 HQL,使用一些连接从数据库中检索数据但是出现此错误,感谢任何有关如何解决此问题的帮助。 Field.hbm.xml 文件:
使用Finish语句的代码和不使用Finally语句的代码之间有什么不同?。这对于没有Finish语句的代码来说,它们看起来是一样的。有什么不同吗,比如表现还是什么?。这是我从那个网站得到的流程图。在
在 Redshift 上输入以下查询时,我收到“错误:带有 ORDER BY 子句的聚合窗口函数需要框架子句”消息。请帮助 - 我正在尝试查看成员从第一天到今天的成长情况。谢谢。 select dat
我正在为此编写一个查询: select * from players where player_name like '%K% and player_rank 1; 现在,函数 check_if_p
我有 3 个 SQL 查询: 从 user_id =4 的用户中选择 student_id;//返回 35 select * from student where student_id in (35)
我有这样一个 xml: nota1 nota2 nota3 nota4 nota1
我一直试图找出错误,我正在做一种编程语言并有下一个代码,使用 ragg,我有一个语法对象(resto ...),它有一个括号作为数据,我转换这个语法对象到一个数据: (let ([i (synt
我正在尝试在 MS SQL Server 上连接 2 个或更多表。所有表都有确定事件记录的 IsActive 字段。 (IsActive = 1 表示事件记录,IsActive = 0 表示非事件记录
有人可以指导我修复此查询中的错误吗: var objApps = from item in xDoc.Descendants("VHost")
我在 MySQL 中遇到错误:错误代码:1054。“on 子句”中的未知列“s.Product_id” 出现在: SELECT c.customer_ID, p.Product_id, p.Produ
我正在尝试运行一个使用 WHERE 子句从表中选择值的查询,该查询只返回所有条件都有值的行,我是否要返回同样为空的值? Language Table
我是一名优秀的程序员,十分优秀!