JPA - 仅为第一天的第一天选择对象

时间:2017-05-09 22:42:54

标签: jquery sql jpa jpql

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

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获得这个结果?结果应该包含实体对象。

1 个答案:

答案 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提供商都支持它。