Значение атрибута аннотации Query.value должно быть константным выражением - PullRequest
1 голос
/ 16 июня 2019

Я хочу реализовать репозиторий с запросом на удаление.

@Repository
public interface LogRepository extends JpaRepository<Log, Integer>, JpaSpecificationExecutor<Log> {

    @Modifying
    @Query("delete from " + Log.class.getName() + " r where r.createdAt <= ?1") 
    int deleteByCreatedAt(LocalDateTime createdAt);
}

Но я получаю ошибку The value for annotation attribute Query.value must be a constant expression

Есть ли способ реализовать это?

1 Ответ

2 голосов
/ 16 июня 2019

Запрос "delete from " + Log.class.getName() + " r where r.createdAt <= ?1" действительно не является константой, так как он будет меняться с изменением класса Log.Но почему вы хотите сохранить эту динамику?Не похоже, что вы будете менять имя таблицы в базе данных очень часто.Просто определите это статически, и вам будет хорошо.

...