2017-05-09 1 views
1

の最初の日のためにのみ選択したオブジェクトは、私はこのような日々のデータセットを収集しています:1日あたり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 

だから、一つのエントリを。それから私はこれを使っていくつかのグラフを描きます。今ではデータが大量になった場合、代わりに月次チャートを描画し、その月の最初のオブジェクトのみを選択したいと考えています。例えば。結果は次のようになります。

date  value 
01.01.2017 5 
01.02.2017 30 
01.03.2017 50 

JPQLでこの結果を得る方法はありますか?結果にはエンティティオブジェクトが含まれている必要があります。

答えて

2

と仮定すると、あなたは、あなたがJPQLなど

Query q = em.createQuery("SELECT d FROM Dataset d WHERE DAY(d.date) == 1"); 
を実行することができ、この

@Entity 
public class Dataset 
{ 
    @Id 
    long id; 

    Date date; 

    long value; 
} 

のような実体を持っている(ビッグ仮定は多分?しかし、あなたは、正確な回答を得るために、質問より明確にする必要があります)

DAYは標準JPQL(まだ)ではありませんが、JPAプロバイダの大多数がサポートしています。

+0

はい想定は正しいです。これは実行可能なソリューションのように聞こえます。私はこれを試してみよう! – jan

+0

これは私のために働いた、ありがとう! – Ernest