No creo que PostgreSQL permita pasar el INTERVAL
las declaraciones requieren una cadena codificada con un interval '1 day'
-entrada de estilo; sin embargo, puede lograr esto convirtiendo una cadena en un intervalo.
Intente cambiar la consulta SQL en su código a:
select a from ActivationCode a where a.creationTime + (:hoursAgo||' hour')::interval <= CURRENT_TIMESTAMP and a.type = :type and a.account = account
Alternativamente, acabo de encontrar esta respuesta anterior de StackOverflow , valdría la pena intentarlo, pero podría tener el mismo problema (suponiendo que esté relacionado con el analizador de consultas de 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