2015-04-02 14 views
7

Voglio controllare il tempo validTill la data è maggiore di today utilizzando JPQL. So che posso ottenere questo seguendo.Controllo JPQL maggiore rispetto alla data odierna nell'annotazione @Query

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

e passare il parametro :today. Ma non è quello che volevo. Voglio farlo usando l'annotazione @Query nello CrudRepository in primavera.

Questo è il mio segmento di codice nel CrudRepository

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

Non so che cosa devo mettere al posto TODAY per ottenere la data di oggi. Mi aiuti per favore.

risposta

14

L'ho trovato. è come questo ..

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

CURRENT_DATE - viene valutata alla data corrente (un'istanza java.sql.Date).

CURRENT_TIME - viene valutato sull'ora corrente (un'istanza java.sql.Time).

CURRENT_TIMESTAMP - viene valutato al timestamp corrente, cioè data e ora (un'istanza java.sql.Timestamp).

Problemi correlati