/
spirzen
/
it-code-examples
Обзор
Документация
Войти
/
spirzen
/
it-code-examples
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
examples/java/java-503-101-044/main.java
27 строк
998 B
Spirzen
Code migration pack
09 июн 2026, 01:41
09 июн 2026, 01:41
cebc284
Код
Авторство
О чём код?
public interface Specification<T> { Predicate toPredicate(Root<T> root, CriteriaQuery<?> query, CriteriaBuilder cb); } public class OrderSpecifications { public static Specification<OrderEntity> byCustomer(CustomerId customerId) { return (root, query, cb) -> cb.equal(root.get("customerId"), customerId.value()); } public static Specification<OrderEntity> pending() { return (root, query, cb) -> cb.equal(root.get("status"), OrderStatus.PENDING.name()); } public static Specification<OrderEntity> withAmountGreaterThan(BigDecimal amount) { return (root, query, cb) -> cb.greaterThan(root.get("totalAmount"), amount); } } // Использование List<Order> orders = orderRepository.findAll( Specification.where(OrderSpecifications.byCustomer(customerId)) .and(OrderSpecifications.pending()) .and(OrderSpecifications.withAmountGreaterThan(minAmount)) );