Jag tror inte att PostgreSQL tillåter att INTERVAL
skickas satser kräver en hårdkodad sträng med ett interval '1 day'
-stil input; men du kan uppnå detta genom att kasta en sträng till ett intervall.
Försök att ändra SQL-frågan i din kod till:
select a from ActivationCode a where a.creationTime + (:hoursAgo||' hour')::interval <= CURRENT_TIMESTAMP and a.type = :type and a.account = account
Alternativt har jag precis hittat detta tidigare StackOverflow-svar , det här skulle vara värt ett försök men kan ha samma problem (förutsatt att det är relaterat till Spring Data JPA:s frågeparser):
select a from ActivationCode a where a.creationTime + :hoursAgo * INTERVAL '1 hour' <= CURRENT_TIMESTAMP and a.type = :type and a.account = account