Я создаю веб-приложение, используя Java Spring Boot и thymeleaf. Я знаю, как включить пагинацию в это. Я перешел по этой ссылке https://dzone.com/articles/pagingandsortingrepository-how-to-use-with-thymele
Теперь проблема в том, как включить форму поиска / фильтрации и как включить подкачку в результаты поиска?
Я знаю, что могу использовать CriteriaBuilder (например, функцию findBuildings () ниже), чтобы получать результаты поиска, но как включить в них подкачку?
частный EntityManager em;
Публичный список findBuildings (Здание с поискомBuilding) {
CriteriaBuilder cb = em.getCriteriaBuilder();
CriteriaQuery<Building> cq = cb.createQuery(Building.class);
Root<Building> quest = cq.from(Building.class);
List<Predicate> predicates = new ArrayList<Predicate>();
if (searchedBuilding.getAddress() != null) {
predicates.add(cb.equal(quest.get("Address"), "%" + searchedBuilding.getAddress()+ "%"));
}
if (searchedBuilding.getBuildingType() != null) {
predicates.add(cb.like(quest.get("BuildingType"), "%" + searchedBuilding.getBuildingType() + "%"));
}
// other predicates
cq.select(quest).where(predicates.toArray(new Predicate[] {}));
List<Building> buildings = em.createQuery(cq).getResultList();
return buildings;
}