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.

Foi útil?

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.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top