I have native query for a JpaRespository as:
@Query(value = "SELECT * FROM Feature f WHERE f.feature_type = :featureType AND " +
"ST_DWithin(geometry, 'SRID=:srid;POINT(:lon :lat 0)', :range)", nativeQuery = true)
Query generated is as:
SELECT * FROM Feature f WHERE f.feature_type = ? AND ST_DWithin(geometry,'SRID=:srid;POINT(:lon :lat 0)', ?)
geometry is a column in table containing spatial data.
But traces also tell that query have a parse error:
Hint: "SR" <-- parse error at position 2 within geometry
But when I execute query in database, I get results correctly.
Why this mismatch?
I could finally solve it by:
@Query(value = "SELECT * FROM Feature f WHERE f.feature_type = :featureType AND " +
"ST_DWithin(geometry, ST_GeographyFromText('SRID=' || :srid || ';POINT(' || :lon ||' ' || :lat || ' 0)'), :range)", nativeQuery = true)