Неверный формат имени параметра фильтра [x]; ожидание {имя_фильтра}. {имя_параметра} - PullRequest
0 голосов
/ 25 марта 2020

Basi c info

Я работаю в среде Boot-Spring. Моя база данных хранит геометрии (точки).

Требование

Мне нужно реализовать аннотацию @Query для использования функций Postgis и использования заполнителей, где это необходимо.

Запрос, который я тестировал на БД:

SELECT id
FROM schema.foo a 
WHERE  5140000 > st_distance(
        'SRID=25832;POINT(0 0)'::geometry,a.geom)

И он отлично работает (но если у вас есть лучшие идеи о том, как разработать запрос, дайте мне знать). Теперь вместо 'POINT (0 0)' я должен использовать заполнители типа 'POINT (: широта: долгота)'.

Предыдущая попытка

В хранилище Я попробовал этот синтаксис

@Query(nativeQuery = true, value = "SELECT id FROM schema.foo a WHERE  :radius > st_distance('SRID=25832;POINT(:latitude :longitude)'::geometry,a.geom)")
    List<Long> findNearBy(@Param("radius") Double radius, @Param("latitude") String latitude,
            @Param("longitude") String longitude);

В сервисе, который я написал

    return repository.findNearBy(100, "0", "0");

Но во время выполнения эта попытка вызывает

Invalid filter-parameter name format [latitude]; expecting {filter-name}.{param-name}

Эта ошибка меня смущает много. Это первый раз, когда я сталкиваюсь с этим.

Вопрос

Что я должен исправить, чтобы достичь своей цели? Заранее спасибо!

...