Укажите область кэша 2-го уровня, чтобы сделать ее недействительной для JpaRepository. - PullRequest
0 голосов
/ 27 декабря 2018

Я просматривал несколько мест, как в сети, так и в коде Spring или Hibernate , но я не смог найти способ сказать, что@Modifying собственный запрос, определенный в интерфейсе, который расширяет JpaRepository, влияет только на определенный класс сущностей, поэтому остальные области кэша в кэше второго уровня не очищаются.

Таким образом, у меня естьотдельный класс для запуска моего запроса, где я звоню addSynchronizedEntityClass, но это довольно громоздко.Я бы предпочел просто использовать org.springframework.data.jpa.repository.Modifying параметр (который, кажется, не существует) или некоторую другую аннотацию.

public interface CustomerRepository extends JpaRepository<Customer, Integer> {
    @Modifying
    @Query(
            value = "DELETE FROM customers WHERE id IN ?1",
            nativeQuery = true)
    @???SomethingForSynchronizedEntityClass(Customer.class)
    void customDelete(Collection<Integer> ids);
}

Итак,есть SomethingForSynchronizedEntityClass или замена для org.springframework.data.jpa.repository.Query или для org.springframework.data.jpa.repository.Modifying ?Или хотя бы есть план?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...