2017-01-17 9 views
0

現在の日付には、dateStartおよびdateAndのすべての行が必要です。Hibernateの基準は、すべての行を取得します。currentDate> startDateおよび<endDate

現在の日付場合 - あなたのテーブルに私は0と4 IDで2行を取得必要がある2017年1月17日と

id dateStart  dateEnd 
0 01 JAN 2017 18 JAN 2017 
1 01 JAN 2017 16 JAN 2017 
2 18 JAN 2017 03 FEB 2017 
4 17 JAN 2017 16 JAN 2017 

@Override 
    public List<Raffle> findCurrentRaffle() { 
     Criteria criteria = getSession().createCriteria(Raffle.class); 
     criteria.add(Restrictions.ge("dateStart", new Date())); 
     criteria.add(Restrictions.le("dateEnd", new Date())); 
     return criteria.list(); 
    } 

リターン0行

private Long id; 
    @Column(name = "dateStart") 
    @Temporal(TemporalType.TIMESTAMP) 
    private Date dateStart; 
    @Column(name = "dateEnd") 
    @Temporal(TemporalType.TIMESTAMP) 
    private Date dateEnd; 
+0

新しい日付(に条件を変更し、問題を解決するには。ただ一般的な発言、それは質問に答えることはありません。 – hakamairi

+0

Raffleクラスを表示して、dateStart型とdateEnd型の型を教えてください。 – hakamairi

+0

あなたは何を探していますか? –

答えて

2

条件はdateStart >= currentDate and dateEnd <= currentDate

はちょうど彼らが異なる値を持つことになり、二回と呼ばれるべきではありません)dateStart <= currentDate and dateEnd >= currentDate

criteria.add(Restrictions.le("dateStart", new Date())); 
criteria.add(Restrictions.ge("dateEnd", new Date())); 
関連する問題