如何使用 CriteriaQuery 在 JPA 2 中表示 Postgresql bool_and和bool_or聚合



我正在尝试使用JPA 2为以下场景提供的CriteriaQuery编写Select语句:

  1. 对项目进行分组,如果至少一列为"true",则返回 true
  2. 对项目进行分组,如果所有列都为"true",则返回 true

我注意到PostGreSQl中有bool_andbool_or functions.这是解释这些功能的链接。 布尔聚合函数 如何使用JPA CriteriaQuery/CriteriaBuilder?实现此功能

您可以使用以下命令调用任何本机 SQL 函数

CriteriaBuilder.function('bool_and', Boolean.class, args)

其中"args"是函数采用的参数,第二个参数是返回类型(参见javadocs)。显然,你会失去数据库独立性,但这样你可能就不关心这些事情了。

JPA 不支持自定义函数。它可以通过休眠(看这里)或本机查询来实现。两者都需要对代码进行重大更改。

相关内容

  • 没有找到相关文章

最新更新