Разбиение на страницы Struts2 + Spring4 + Hibernate3

Я разрабатываю веб-приложение с использованием архитектурного шаблона MVC.

  • Struts2 (версия 2.3.24) используется для уровня бизнес-логики и представления.
  • Spring (версия 4.1.0) — это механизм внедрения зависимостей.
  • Hibernate (версия 3.6.10) используется для уровня данных.

Мне нужно создать класс PaginationFactory, который я могу динамически использовать для различных разделов приложения. У меня есть несколько примеров в Google и StackOverflow... Но в основном старые вещи, такие как this вопрос.

Любые идеи о том, как реализовать эту функцию с помощью чего-то более современного? Может быть, с JQuery и Ajax в качестве поддержки?


person IlGala    schedule 06.07.2015    source источник
comment
Я просматривал документацию по Criteria API. ... Может быть хорошее начало?   -  person IlGala    schedule 06.07.2015
comment
Вы в начале или приложение уже разработано? Является ли этот стек стандартом компании? +1 за 2.3.24 :) но сейчас это кажется слишком широким...   -  person Andrea Ligios    schedule 07.07.2015
comment
Нет, я в начале, это медицинское программное обеспечение, поэтому там много типологических таблиц, документов и т. д., которые требуют хорошей нумерации страниц, заранее спасибо, если вам нужна дополнительная информация, скажите мне!   -  person IlGala    schedule 07.07.2015
comment
Что именно вы спрашиваете? Ссылка на какой-нибудь пагинатор? Это ОТ. Как реализовать пагинацию самостоятельно? Это слишком широко.   -  person Aleksandr M    schedule 07.07.2015
comment
Что ж, мне нужно оптимизировать верстку результатов (в год мы говорим о 3-400 тысячах документов). Я ищу хорошую систему подкачки, совместимую с используемыми технологиями, поскольку то, что я нашел в Интернете, довольно старое, или рекомендации для первоначального создания самого необходимого.   -  person IlGala    schedule 07.07.2015
comment
@IlGala, если вы только начинаете, я предлагаю вам перейти на полную версию Java EE (кроме Struts2 вместо JSF2...) и использовать Struts2 + CDI (для DI вместо Spring) + JPA 2 (с Hibernate в качестве реализации). Затем прочитайте это вместе со всеми ответами для достижения нумерация страниц в JPA.   -  person Andrea Ligios    schedule 07.07.2015


Ответы (1)


Я предлагаю вам использовать Spring Data Jpa, в нем уже реализовано разбиение на страницы.

Ваш репозиторий будет выглядеть так:

public interface MedicamentRepository extends JpaRepository<Medicament, Integer> {}

Вы можете расширить, например, интерфейс PagingAndSortingRepository, если вам не нужны некоторые методы, предоставляемые JpaRepository.

public class SomeClass{

@Autowired
public MedicamentRepository medicamentRepo; 

 public void someMethod(){
//in spring data jpa, page count starts from 0; 
 PageRequest pageRequest = new PageRequest(pageNumber, 
pageSize); //also have sorting

org.springframework.data.domain.Page<Medicament> page = medicamentRepo.findAll(pageRequest);

    }
}

вы можете прочитать больше здесь

person Yaroslav    schedule 28.10.2015