PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

Ajout de X heures - @Query - Spring Data JPA

Je ne crois pas que PostgreSQL permette de passer le INTERVAL les instructions nécessitent une chaîne codée en dur avec un interval '1 day' -entrée de style ; cependant, vous pouvez y parvenir en convertissant une chaîne en intervalle.

Essayez de remplacer la requête SQL dans votre code par :

select a from ActivationCode a where a.creationTime + (:hoursAgo||' hour')::interval <=  CURRENT_TIMESTAMP and a.type = :type and a.account = account

Alternativement, je viens de trouver cette réponse StackOverflow précédente , cela vaudrait la peine d'essayer, mais cela pourrait avoir le même problème (en supposant que cela soit lié à l'analyseur de requêtes 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