@Value для получения значения @Query - PullRequest
0 голосов
/ 25 марта 2020

Требование

Меня попросили получить значение аннотации запроса из пользовательского свойства, хранящегося в файле application.properties.

Предварительная попытка

Я попытался использовать @Value без успеха

@Repository
public interface FooRepository
        extends JpaRepository<Foo, Long> {

  @Value("${db.queries.distance}")
  String distanceQuery; // this raises an error

  @Query(nativeQuery = true, value =distanceQuery)
  ...

Eclipse помечает "distanceQuery" и сообщает

The blank final field distanceQuery may not have been initialized

И заставляет меня инициализировать переменная следующим образом

    public static final Double distanceQuery = null;

К сожалению, это не то, что я хочу

Вопрос

Существует ли обходной путь для устранения этой проблемы? Заранее спасибо!

1 Ответ

0 голосов
/ 25 марта 2020

Вместо определения в файле свойств, вы можете определить запрос в файле констант java и получить значение, как показано ниже

@Query(nativeQuery = true, value =Constants.DISTANCE_QUERY)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...