Eu não acredito que o PostgreSQL permita passar o
INTERVAL
instruções requerem uma string codificada com um interval '1 day'
entrada de estilo; no entanto, você pode conseguir isso lançando uma string para um intervalo. Tente alterar a consulta SQL em seu código para:
select a from ActivationCode a where a.creationTime + (:hoursAgo||' hour')::interval <= CURRENT_TIMESTAMP and a.type = :type and a.account = account
Como alternativa, acabei de encontrar esta resposta anterior do StackOverflow , valeria a pena tentar, mas pode ter o mesmo problema (presumindo que esteja relacionado ao analisador de consulta do Spring Data JPA):
select a from ActivationCode a where a.creationTime + :hoursAgo * INTERVAL '1 hour' <= CURRENT_TIMESTAMP and a.type = :type and a.account = account