JPA: Como fazer cálculos com datas na clausula where em um jpql?

4 respostas
ricardospinoza

Preciso fazer contas referente a datas em JPA como o exemplo em SQL no Oracle:

SELECT *
    FROM DOCUMENTO
   WHERE ADD_MONTHS(DOCUMENTO.DATA_CRIACAO, 2) < SYSDATE

Alguem sabe me dizer se isto é possível, sem utilizar uma query nativa?

Obs.: não posso fazer as contas carregando todos os objetos no java, pois estou trabalhando com uma grande quantidade de dados.

4 Respostas

B

ola, que tal

ricardospinoza

Valeu a respota. Mas o meu problema não é com o SYSDATE. Como coloquei no tópico, o problema é calculo com datas (especificamente na clausula WHERE). A função ADD_MONTHS é nativa do Oracle e não consegui encontrar uma forma de substituir essa função em JPQL.

A questão é que estamos desenvolvendo um sistema que queremos que seja portável à maioria dos bancos e por isto estamos fugindo das queries nativas.

B

É, assim, tentei…

Agora, assim, pelo que eu já vi em relações a datas e tal… as coisas mais 'práticas" de serem feitas quase sempre caem em funções de cada vendedor, pois as coluções ascii nem sempre são muito práticas.

ricardospinoza

Valeu Bruno!

Mais alguém tem alguma outra solução?

Criado 17 de junho de 2010
Ultima resposta 18 de jun. de 2010
Respostas 4
Participantes 2