【发布时间】:2023-10-28 14:31:01
【问题描述】:
我看到 JPA 缺乏提供日期/时间提取功能。例如如何实现以下简单目标
calculate total revenue by given days of week (i.e. revenue only on Friday, Saturday, Sunday)?
理想情况下应该有一个 API,所以
select sum(revenue) from salesreport where day_of_week(date) in (:daysList);
我认为在 JPA(我正在使用 OpenJPA)而不是原生查询中没有简单的方法来实现它。一些 JPA 供应商提供Year()、Month()、Day()(月中的某天),但一周中的某天没有
【问题讨论】:
-
OpenJPA 是否提供供应商扩展以在 JPQL 中使用 SQL 函数(这是 JPA 2.1 中的标准,但 OpenJPA 不支持)?如果是这样,那么您可以使用 SQL 函数来获取星期部分
-
@Neil Stockton 谢谢,但这不是等同于使用本机查询(特定于数据库供应商)吗?
标签: java hibernate jpa openjpa