小编shl*_*cee的帖子

Hibernate HQL 查询:如何在 where 子句中正确使用 ANY 函数?

我正在努力理解我在 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();
Run Code Online (Sandbox Code Playgroud)

}

...注释掉的行工作正常,但我希望非工作 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:意外令牌::错误。

有任何想法吗?感谢帮助。

java hibernate hql

5
推荐指数
1
解决办法
7478
查看次数

标签 统计

hibernate ×1

hql ×1

java ×1