Ok, ik heb er heel lang over gedaan om dit voor mij te laten werken, MAAR IK HEB HET EINDELIJK. Laat het de toekomstige avonturiers en de gemeenschap ook weten.
Wat voor mij werkte, was casten naar interval gepresenteerd door A.H. hier:
select current_timestamp + ( 2 || ' days')::interval;
Uw oplossing zou dan ongeveer zo zijn (wanneer de tweede vraag wordt geanalyseerd):
@Query(value = "SELECT n.* from nodes n WHERE n.node_id = 10510 AND n.last_good_ping > CURRENT_DATE - ( :interval )\\:\\:interval ", nativeQuery = true)
Of voor de derde vraag (en dat is precies hoe ik het in mijn geval heb laten werken)
@Query(value = "SELECT n.* from nodes n WHERE n.node_id = 10510 AND n.last_good_ping > CURRENT_DATE - ( ?1 )\\:\\:interval", nativeQuery = true)
Let op ontsnappen ::
wordt \\:\\:
. Gebruik in uw pure SQL die u in uw SQL-editor zou testen ::
, maar in uw repositorycode binnen @Query
deze casting-tekens moeten worden ontsnapt (anders zal uw Hibernate/JPA niet tevreden zijn).