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