JPA - 每月第一天只有 select 个对象
JPA - Only select object for first day of month
我正在收集这样的日常数据集:
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
所以每天一篇。然后我用它来绘制一些图表。现在,如果数据太多,我想改为绘制月度图表,因此只有 select 这个月的第一个对象。例如。结果应该是:
date value
01.01.2017 5
01.02.2017 30
01.03.2017 50
有没有办法用 JPQL 得到这个结果?结果应包含实体对象。
假设(可能是一个很大的假设?,但是你需要让问题更清楚才能得到准确的答复)你有一个这样的实体
@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 提供商都支持它。
我正在收集这样的日常数据集:
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
所以每天一篇。然后我用它来绘制一些图表。现在,如果数据太多,我想改为绘制月度图表,因此只有 select 这个月的第一个对象。例如。结果应该是:
date value
01.01.2017 5
01.02.2017 30
01.03.2017 50
有没有办法用 JPQL 得到这个结果?结果应包含实体对象。
假设(可能是一个很大的假设?,但是你需要让问题更清楚才能得到准确的答复)你有一个这样的实体
@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 提供商都支持它。