2012-03-16 3 views
1

일괄 처리를 작성하고 지속성을 위해 JPA를 사용합니다. 나는 많은 레코드가있는 테이블을 가지고 있으며 100 또는 500 그룹별로 모든 레코드를 읽어야합니다. 충분한 레코드가 없기 때문에 모든 레코드를 한 번에 메모리에로드하고 싶지 않습니다. 예를 들어JPA의 그룹별로 레코드 받기

:

  • 첫 번째 그룹 : 기록 1 500-
  • 두 번째 그룹 : 1000

-501이 그것을 할 수있는 더 나은 방법이 있나요 기록?


관련 질문

JPA: what is the proper pattern for iterating over large result sets?

Total row count for pagination using JPA Criteria API

답변

2

당신은 첫 번째 결과를 설정해야합니다 및 방법 당신들은 javax.persistence.Query에서 결과의 수 setFirstResult()과는 setMaxResults() .

+0

감사합니다. 변수를 사용하여 0으로 초기화 된 첫 번째 결과 번호를 사용했습니다. 그런 다음 최대 결과 수를 설정 한 다음 query() 메소드를 사용하여 DB에 대한 질의를했습니다. 마지막으로해야 할 일은 첫 번째 결과를 이전 쿼리의 최대 결과 수만큼 증가시키는 것입니다. –