Guest User

Untitled

a guest
Apr 20th, 2018
72
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.45 KB | None | 0 0
  1. public Page<Phone> list(@NonNull Filter filter) {
  2. Specifications<Phone> specifications = where(equal("id", filter.getId()))
  3. .and(isBetween("regDate", filter.getRegFrom(), filter.getRegTo()))
  4. .and(contain("operatorAccPassword", filter.getOpPassword()))
  5. .and(contain("operatorAccLogin", filter.getOpLogin()))
  6. .and(contain("operatorName", filter.getOpName()))
  7. .and(contain("number", filter.getNumber()))
  8. .and(equal("status", filter.getStatus()))
  9. .and(contain("note", filter.getNote()));
  10.  
  11. return phoneRepository.findAll(specifications, filter.getPageable());
  12. }
  13.  
  14. public interface PhoneRepository extends CrudRepository<Phone, Integer>, JpaSpecificationExecutor<Phone> {
  15. class Specifications {
  16. public static Specification<Phone> equal(@NonNull String column, @NotNull Object value) {
  17. return (root, criteriaQuery, criteriaBuilder) -> criteriaBuilder.equal(root.get(column), value);
  18. }
  19.  
  20. public static Specification<Phone> contain(@NonNull String column, @NotNull String value) {
  21. return (root, criteriaQuery, criteriaBuilder) -> criteriaBuilder.like(root.get(column), value);
  22. }
  23.  
  24. public static Specification<Phone> isBetween(@NonNull String column, @NonNull Timestamp from, @NonNull Timestamp to) {
  25. return (root, criteriaQuery, criteriaBuilder) -> criteriaBuilder.between(root.get(column), from, to);
  26. }
  27. }
  28. }
Add Comment
Please, Sign In to add comment