Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Hibernate 如何使用CriteriaQuery在JPA2中表示Postgresql bool_和bool_或聚合函数?_Hibernate_Jpa_Criteria Api_Criteriaquery - Fatal编程技术网

Hibernate 如何使用CriteriaQuery在JPA2中表示Postgresql bool_和bool_或聚合函数?

Hibernate 如何使用CriteriaQuery在JPA2中表示Postgresql bool_和bool_或聚合函数?,hibernate,jpa,criteria-api,criteriaquery,Hibernate,Jpa,Criteria Api,Criteriaquery,我正在尝试使用JPA 2提供的CriteriaQuery为以下场景编写Select语句: 对项目进行分组,如果至少有一列为“true”,则返回true 对项目进行分组,如果所有列都为“true”,则返回true 我注意到在PostGreSQl中有bool\u和bool\u或函数。下面是一个解释这些功能的链接。 如何使用JPA CriteriaQuery/CriteriaBuilder实现此功能?JPA不支持自定义函数。它可以通过hibernate()或本机查询实现。两者都需要对代码进行重大修改。

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

  • 对项目进行分组,如果至少有一列为“true”,则返回true
  • 对项目进行分组,如果所有列都为“true”,则返回true
  • 我注意到在
    PostGreSQl
    中有
    bool\u和
    bool\u或函数。下面是一个解释这些功能的链接。
    
    如何使用JPA CriteriaQuery/CriteriaBuilder实现此功能?

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

    您可以使用

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

    其中“args”是函数采用的参数,第二个参数是返回类型(请参阅)。很明显,您将失去数据库独立性,但您可能不关心这些事情。

    @DN1请发布您的答案,我将删除我的