Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public Page<Phone> list(@NonNull Filter filter) {
- Specifications<Phone> specifications = where(equal("id", filter.getId()))
- .and(isBetween("regDate", filter.getRegFrom(), filter.getRegTo()))
- .and(contain("operatorAccPassword", filter.getOpPassword()))
- .and(contain("operatorAccLogin", filter.getOpLogin()))
- .and(contain("operatorName", filter.getOpName()))
- .and(contain("number", filter.getNumber()))
- .and(equal("status", filter.getStatus()))
- .and(contain("note", filter.getNote()));
- return phoneRepository.findAll(specifications, filter.getPageable());
- }
- public interface PhoneRepository extends CrudRepository<Phone, Integer>, JpaSpecificationExecutor<Phone> {
- class Specifications {
- public static Specification<Phone> equal(@NonNull String column, @NotNull Object value) {
- return (root, criteriaQuery, criteriaBuilder) -> criteriaBuilder.equal(root.get(column), value);
- }
- public static Specification<Phone> contain(@NonNull String column, @NotNull String value) {
- return (root, criteriaQuery, criteriaBuilder) -> criteriaBuilder.like(root.get(column), value);
- }
- public static Specification<Phone> isBetween(@NonNull String column, @NonNull Timestamp from, @NonNull Timestamp to) {
- return (root, criteriaQuery, criteriaBuilder) -> criteriaBuilder.between(root.get(column), from, to);
- }
- }
- }
Add Comment
Please, Sign In to add comment