Ok, pasé mucho tiempo tratando de hacer que esto funcionara para mí, PERO FINALMENTE LO CONSEGUÍ. Que los futuros aventureros y la comunidad también lo sepan.
Lo que funcionó para mí fue lanzar a intervalos presentado por A.H. aquí:
select current_timestamp + ( 2 || ' days')::interval;
Su solución sería entonces algo así (cuando se analiza la segunda consulta):
@Query(value = "SELECT n.* from nodes n WHERE n.node_id = 10510 AND n.last_good_ping > CURRENT_DATE - ( :interval )\\:\\:interval ", nativeQuery = true)
O para la tercera consulta (que es exactamente como lo hice funcionar en mi caso)
@Query(value = "SELECT n.* from nodes n WHERE n.node_id = 10510 AND n.last_good_ping > CURRENT_DATE - ( ?1 )\\:\\:interval", nativeQuery = true)
Tenga en cuenta que se escapa ::
se convierte en \\:\\:
. En su SQL puro que probaría en su editor de SQL use ::
, pero en su código de repositorio dentro de @Query
estos signos de lanzamiento deben escaparse (de lo contrario, su Hibernate/JPA no estará satisfecho).