2009-12-10 9 views
1

atm 목록으로 소량의 데이터 (100 개의 레코드를 반올림 한 것)를 가져 와서 displaytag에서이 데이터에 대한 테이블을 렌더링합니다. 지금 나는 문제에 직면하고있다 : 나는 더 많은 결과를 한 번에 보여줄 필요가있다. 쿼리의 결과가 5000보다 큰 개체이면 모든 것이 극단적으로 느려집니다.최대 절전 모드. 큰 결과 및 페이지 매기기

큰 컬렉션을 받고 뷰 레이어로 전달하는 모범 사례가 있는지 궁금합니다.

답변

1

이 문서는 페이징 결과 설명 : 한 번에 http://www.javalobby.org/java/forums/t63849.html

기본적으로 당신이 얻을 것이다 결과 소수 (당신은 얼마나 많은 결정). 그 결과를 얻은 후에 최대 절전 모드 query.setFirstResult (startingIndex)와 query.setMaxResults (howMuch)를 사용하기를 원하면 더 많은 결과를 얻으실 수 있습니다.

나는 또한 자바에서는 아마도 훌륭한 해결책은 아니지만 작동한다. 나는 데이터를로드하는 코드를 실행하는 SwingWorker를 최대 절전 모드로 만드는 작업을 수행하는 컨트롤러 메서드를 가지고있다. 이렇게하면 백그라운드에서 발생하며 UI가 정상적으로로드됩니다.

페이징이 가장 좋은 해결책 인 것 같습니다.