gpt4 book ai didi

java - 如何使用 HQL (Hibernate) 查询日期的平均天数差异?

转载 作者:行者123 更新时间:2023-11-29 12:24:23 25 4
gpt4 key购买 nike

我需要从我的 PostgreSQL 数据库(已使用 Hibernate 映射到 Java)中检索记录的平均日期差异(如您所说,开始和结束)。

我编写了一个运行良好的 native PostgreSQL 查询:

SELECT avg(date_part('days', age(datasaida, dataentrada))) as avg_days
FROM processo.processo
WHERE processo.codsituacao = '14'
AND processo.dataEntrada >= now() - interval '30 days';

问题是,由于 avg(date_part('days', age(datasaida, dataentrada))),我不知道如何将此查询转换为 HQL(Hibernate SQL)部分。

我需要在前端显示信息,我正在使用 JSF Primefaces 构建它。

附注:dataEntrada - 表示开始日期(有点)。 dataSaida 表示结束日期(有点)

最佳答案

你可以试试

avg(DAY(function('age', datasaida, dataentrada)))

or

avg(DAY(datasaid - dataentrada))

DAY 是标准的 JPA 函数:http://www.objectdb.com/java/jpa/query/jpql/date

使用 function('age', datasaida, dataentrada) 你可以从 JPA 调用数据库特定的函数

关于java - 如何使用 HQL (Hibernate) 查询日期的平均天数差异?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48645472/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com