【问题标题】:JPA - Only select object for first day of monthJPA - 仅选择每月第一天的对象
【发布时间】:2017-10-08 10:09:00
【问题描述】:

我正在收集这样的每日数据集:

date        value
01.01.2017  5
02.01.2017  6
03.01.2017  10
.
.
.
01.02.2017  30
02.02.2017  33
.
.
.
01.03.2017  50

所以每天一个条目。然后我用它来绘制一些图表。现在,如果数据太多,我想绘制一个月度图表,因此只选择该月的第一个对象。例如。结果应该是:

date        value
01.01.2017  5
01.02.2017  30
01.03.2017  50

有没有办法用 JPQL 得到这个结果?结果应该是包含实体对象。

【问题讨论】:

    标签: jquery sql jpa jpql


    【解决方案1】:

    假设(可能是大假设?,但是你需要让问题更清楚才能得到准确的答复)你有一个这样的实体

    @Entity
    public class Dataset
    {
        @Id
        long id;
    
        Date date;
    
        long value;
    }
    

    然后就可以执行JPQL比如

    Query q = em.createQuery("SELECT d FROM Dataset d WHERE DAY(d.date) == 1");
    

    虽然DAY 不是标准的 JPQL(目前),但大多数 JPA 提供商都支持它。

    【讨论】:

    • 是的,假设是正确的。谢谢,这听起来像是一个可行的解决方案。我会试试这个!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-03-18
    • 2020-10-02
    • 1970-01-01
    • 2013-08-27
    • 1970-01-01
    • 1970-01-01
    • 2020-04-06
    相关资源
    最近更新 更多