Ok, jeg bruger rigtig lang tid på at få det til at virke for mig, MEN JEG FIK DET ENDELIG. Lad også fremtidens eventyrere og samfund vide det.
Det, der virkede for mig, var casting til interval præsenteret af A.H. her:
select current_timestamp + ( 2 || ' days')::interval;
Din løsning ville da være sådan noget (når 2. forespørgsel analyseres):
@Query(value = "SELECT n.* from nodes n WHERE n.node_id = 10510 AND n.last_good_ping > CURRENT_DATE - ( :interval )\\:\\:interval ", nativeQuery = true)
Eller for 3. forespørgsel (hvilket er præcis sådan, jeg fik det til at fungere i mit tilfælde)
@Query(value = "SELECT n.* from nodes n WHERE n.node_id = 10510 AND n.last_good_ping > CURRENT_DATE - ( ?1 )\\:\\:interval", nativeQuery = true)
Bemærk venligst escape ::
bliver \\:\\:
. Brug ::
i din rene SQL, som du ville teste i din SQL-editor , men i din lagerkode i @Query
disse støbte tegn skal undslippes (ellers vil din Hibernate/JPA blive utilfreds).