PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

Hinzufügen von X Stunden - @Query - Spring Data JPA

Ich glaube nicht, dass PostgreSQL das Übergeben des INTERVAL erlaubt Anweisungen erfordern eine fest codierte Zeichenfolge mit einem interval '1 day' -Stil-Eingabe; Sie können dies jedoch erreichen, indem Sie eine Zeichenfolge in ein Intervall umwandeln.

Versuchen Sie, die SQL-Abfrage in Ihrem Code zu ändern:

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

Alternativ habe ich gerade gefunden diese vorherige StackOverflow-Antwort , dies wäre einen Versuch wert, könnte aber dasselbe Problem haben (vorausgesetzt, es hängt mit dem Abfrageparser von Spring Data JPA zusammen):

select a from ActivationCode a where a.creationTime + :hoursAgo * INTERVAL '1 hour' <=  CURRENT_TIMESTAMP and a.type = :type and a.account = account