我正在收集像这样的每日数据集:
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获得这个结果?结果应该包含实体对象。
答案 0 :(得分:2)
假设(可能是一个很大的假设?,但是你需要让问题更清楚以获得精确的回复)你有一个像这样的实体
@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提供商都支持它。