2012-09-18 10 views
7

Duplicar posible:
Example of using CURRENT_DATE in JPA queryCrear consulta a juego para la fecha actual

Estoy tratando de agregar una consulta a mi repositorio para comparar una fecha almacenada en el PP en contra de la fecha actual.

Mi consulta es la siguiente:

@Query("Select c from Customer c where c.terminated != 1 or c.terminationDate > <currentDate>") 
public List<Customer> getTerminatedCustomers(); 

Qué puedo insertar para <currentDate>?

Si todo falla, podría agregar un parámetro al método y pasar la fecha actual a la consulta de esta manera. Pero preferiría una solución más elegante, si es posible.

Respuesta

20

Esta pregunta es en realidad un duplicado de this one. De acuerdo con la especificación API Java Persistence sección 4.6.17.2.3 hay funciones predefinidas CURRENT_DATE, CURRENT_TIME y CURRENT_TIMESTAMP. Por lo que la consulta tendría que ser definida como

select c from Customer c where c.terminated != 1 or c.terminationDate > CURRENT_DATE 
+0

En cuanto al hecho de que 'CURRENT_DATE' es una función estándar JPA y debería funcionar de la misma manera en todos los proveedores de la APP y RDBMS, debe ser' CURRENT_DATE() 'cuando utilizado en Hibernate con SQL Server. ([prueba] (https://stackoverflow.com/q/15298426/1429387)) – naXa

Cuestiones relacionadas