Ok, jag spenderar väldigt lång tid på att försöka få det här att fungera för mig, MEN JAG FÅR DET ÄNTLIGEN. Låt även framtida äventyrare och samhället veta det.
Det som fungerade för mig var casting till intervall som presenterades av A.H. här:
select current_timestamp + ( 2 || ' days')::interval;
Din lösning skulle då vara något liknande (när den andra frågan analyseras):
@Query(value = "SELECT n.* from nodes n WHERE n.node_id = 10510 AND n.last_good_ping > CURRENT_DATE - ( :interval )\\:\\:interval ", nativeQuery = true)
Eller för den tredje frågan (vilket är exakt hur jag fick det att fungera i mitt fall)
@Query(value = "SELECT n.* from nodes n WHERE n.node_id = 10510 AND n.last_good_ping > CURRENT_DATE - ( ?1 )\\:\\:interval", nativeQuery = true)
Observera att ::
escapes blir \\:\\:
. Använd ::
i din rena SQL som du skulle testa i din SQL-editor , men i din förvarskod inom @Query
dessa gjutningsskyltar måste undkomma (annars kommer din Hibernate/JPA att bli missnöjd).