Что такое Specification в Spring Data JPA?

Senior
257 просмотров
AFK Offer AI

Specification — паттерн для построения динамических запросов. Класс реализует Specification с методом toPredicate(root, query, criteriaBuilder). Можно комбинировать через and/or: spec1.and(spec2).or(spec3). Репозиторий наследует JpaSpecificationExecutor. Вызов: repository.findAll(spec, pageable). Удобно для фильтров: каждый фильтр — отдельная Specification, собираешь из них итоговый запрос динамически. Альтернативы: Querydsl, jOOQ, Criteria API напрямую.

Следующий вопрос

Что такое effectively final переменная?