Не вярвам, че PostgreSQL позволява предаването на INTERVAL
операторите изискват твърдо кодиран низ с interval '1 day'
-стилово въвеждане; но можете да постигнете това чрез прехвърляне на низ към интервал.
Опитайте да промените SQL заявката във вашия код на:
select a from ActivationCode a where a.creationTime + (:hoursAgo||' hour')::interval <= CURRENT_TIMESTAMP and a.type = :type and a.account = account
Като алтернатива току-що намерих този предишен отговор на StackOverflow , това би си струвало да опитате, но може да има същия проблем (ако приемем, че е свързано с анализатора на заявки на 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