Exemplo de utilização CURRENT_DATE em consulta JPA
-
07-07-2019 - |
Pergunta
Pode alguém me aponte para um exemplo de como usar CURRENT_DATE
em uma consulta JPA?
CURRENT_DATE
é especificado no JPA, mas eu não tenho sido capaz de fazê-lo funcionar. Eu sempre obter a exceção unexpected token [CURRENT_DATE]
. Uma vez que é especificado na JPA todos os fornecedores devem cumprir com o direito?
Eu estou usando EclipseLink 2.0 BTW.
Solução
Ele pode ser usado assim:
Query query = manager
.createQuery("SELECT c FROM CITIES c WHERE c.founded = CURRENT_DATE");
for (Object city : query.getResultList()) {
System.out.println(city);
}
... onde fundada é um tipo temporais:
@Column(name = "FOUNDED")
@Temporal(TemporalType.DATE)
private Date founded = new Date();
Não é um grande exemplo, mas você começa a idéia. Estou usando EclipseLink 1.1.2
Outras dicas
A resposta a esta questão foi recuperar os valores via JPA e, em seguida, fazer a matemática em Java simples.
Se você estiver usando o Expressão Framework há o método Expression currentDateDate()
na Expression
( org.eclipse.persistence.expressions.Expression
) objeto.