Ik geloof niet dat PostgreSQL de INTERVAL
doorgeeft instructies vereisen een hard-coded string met een interval '1 day'
-stijl invoer; je kunt dit echter bereiken door een string naar een interval te casten.
Probeer de SQL-query in uw code te wijzigen in:
select a from ActivationCode a where a.creationTime + (:hoursAgo||' hour')::interval <= CURRENT_TIMESTAMP and a.type = :type and a.account = account
Als alternatief heb ik zojuist gevonden dit vorige StackOverflow-antwoord , dit zou het proberen waard zijn, maar kan hetzelfde probleem hebben (ervan uitgaande dat het gerelateerd is aan de query-parser van 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