Как добавить дополнительный параметр ко всем запросам в репозитории - PullRequest
0 голосов
/ 17 сентября 2018

Я разрешаю системе создавать запросы из имен методов:

public interface CompanyRepository extends JpaRepository<Company, Long> {
Boolean existsByName(String name);
Boolean existsByRegCode(String regCode);
}

Существует несколько разных репозиториев для разных сущностей (Компания, Пользователь, Магазин), и все они имеют поле с именем CountryId.

Теперь мне нужно добавить условие «AND CountryId =: CountryId» во все запросы во всех репозиториях, где параметр страны получает свое значение из некоторого файла конфигурации.

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

1 Ответ

0 голосов
/ 17 сентября 2018

Вы можете определить суперкласс для всех ваших сущностей, добавить поле countryId к этому суперклассу и аннотировать с помощью @Where(clause = "countryId='id'")

@Where(clause = "countryId='id'")
public class Entity {...}

и

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