Вариантов немного.
Фильтрация Java
Простая, но медленная и что-то, что я бы посчитал запахом дизайна, чтобы отфильтровать все данные в геттере.
Мы бы предпочли фильтровать данные в базе данных по соображениям производительности.
Фильтрация запросов
Другой вариант - вручную добавить фильтры в свои репозитории, однако вам придется ВСЕГДА не забывать вставлять фильтры в свои запросы каждый раз, когда вы добавляете новые.один.
, что создает некоторые проблемы с обслуживанием.
Hibernate Filtering
Получить Hibernate Filtering и Spring Data Jpa немного сложно.
Поскольку Spring Repositories - это абстракция, которая не взаимодействует с объектами EntityManager / Session, но мы должны установить фильтрацию в нашем сеансе для запроса, который мы хотим сделать, что почти так же, каксоздание ручных фильтров.
Для получения дополнительной информации об этом решении, пожалуйста, обратитесь к LINK
Пружинные характеристики
Самый чистый и наиболее подходящий для фильтрации с некоторымибизнес / системная логика, я бы подумал об использовании Spring Specifications.В документации по Spring есть глава с некоторыми замечательными примерами, поэтому я не буду копировать ее.
Пожалуйста, обратитесь к https://docs.spring.io/spring-data/jpa/docs/current/reference/html/#specifications