web-dev-qa-db-ja.com

@Queryアノテーションで今日の日付よりも大きいJPQLチェック

JPQLを使用して、天気validTillの日付がtodayより大きいことを確認したい。私はこれを次のように達成できることを知っています。

Query q = em.createQuery("select e from MyEntity e where e.validTill > :today ");

:todayパラメーターを渡します。 しかし、これは私が望んでいたことではありません。 SpringのCrudRepositoryにある@Queryアノテーションを使用してこれを実行したいと思います。

これはCrudRepositoryの私のコードセグメントです

@Query("SELECT e FROM MyEntity e WHERE e.validFrom < TODAY")
Iterable<MyEntity> findAllValid();

今日の日付を取得するためにTODAYの場所に何を置くべきかわかりません。私を助けてください。

7
Faraj Farook

見つけた。こんな感じです..

@Query("SELECT e FROM MyEntity e WHERE e.validFrom < CURRENT_DATE")
Iterable<MyEntity> findAllValid();

CURRENT_DATE-現在の日付(Java.sql.Dateインスタンス)に評価されます。

CURRENT_TIME-現在の時刻(Java.sql.Timeインスタンス)に評価されます。

CURRENT_TIMESTAMP-現在のタイムスタンプ、つまり日付と時刻(Java.sql.Timestampインスタンス)に評価されます。

17
Faraj Farook