728x90
공부하는 과정에서 작성한 글입니다. 잘못되거나 보충할 내용이 있다면 언제든지 알려주세요:)
페이징을 사용하여 원하는 범위만큼의 데이터를 가져올 수 있으며, 보통 게시판 페이지 같은 것을 구현할 때 많이 사용된다.
예를 들어 post(게시글) 테이블의 title(제목)을 오름차순으로 정렬하여 '0번째부터 20개의 데이터'를 가져온다고 가정해보자.
사용방법
MySQL
limit, offset 사용
select * from post order by title asc limit 0, 20; //또는 select * from post order by title asc limit 20 offset 0;
JPA
- setFirstResult(), setMaxResults() 사용
List<Topic> topics = entityManger.createQuery("select t from Topic t order by t.title asc", Topic.class)
.setFirstResult(0) //시작 위치
.setMaxResults(20) //데이터 개수
.getResultList();
참고
'데이터베이스 > JPA' 카테고리의 다른 글
[JPA] Cascade(영속성 전이), OrphanRemoval(고아객체 제거) (0) | 2021.03.17 |
---|---|
[JPA] @MappedSuperClass (0) | 2021.03.13 |
JPA JPQL 페치 조인(fetch join) (0) | 2021.02.21 |
JPA 임베디드 타입( Embedded Type, 복합 값 타입) : @Embedded, @Embeddable, @AttributeOverride, @AttributeOverrides (0) | 2021.02.20 |
JPA 지연로딩을 사용해야하는 이유, 지연로딩(Lazy)과 즉시로딩(Eager) (0) | 2021.02.12 |
댓글