250x250
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- fetch
- 지연로딩
- 유니크제약조건
- 동적sql
- 연관관계
- exclusive lock
- execute
- 낙관적락
- 스토어드 프로시저
- 데코레이터
- SQL프로그래밍
- BOJ
- 비관적락
- 이진탐색
- 연결리스트
- shared lock
- PS
- 힙
- 일대다
- querydsl
- 즉시로딩
- FetchType
- JPQL
- eager
- 스프링 폼
- 다대일
- dfs
- CHECK OPTION
- 다대다
- 백트래킹
Archives
- Today
- Total
흰 스타렉스에서 내가 내리지
[Querydsl] 정렬과 페이징 본문
728x90
# 정렬
/**
* 회원 정렬 순서
* 1. 회원 나이 내림차순 (desc)
* 2. 회원 나이 오름차순 (asc)
* 단 2에서 회원 이름이 없으면 마지막에 출력 (nulls last)
*/
@Test
public void sort(){
em.persist(new Member(null, 100));
em.persist(new Member("member5", 100));
em.persist(new Member("member6", 100));
List<Member> result = queryFactory
.selectFrom(member)
.where(member.age.eq(100))
.orderBy(member.age.desc(), member.username.asc().nullsLast())
.fetch();
Member member5 = result.get(0);
Member member6 = result.get(1);
Member memberNull = result.get(2);
assertThat(member5.getUsername()).isEqualTo("member5");
assertThat(member6.getUsername()).isEqualTo("member6");
assertThat(memberNull.getUsername()).isNull();
}
- desc(), asc() : 일반 정렬
- nullsLast(), nullsFirst() : null 데이터 순서 부여
# 페이징
@Test
public void paging1(){
List<Member> result = queryFactory
.selectFrom(member)
.orderBy(member.username.desc())
.offset(1)
.limit(2)
.fetch();
assertThat(result.size()).isEqualTo(2);
}
'JPA' 카테고리의 다른 글
[Querydsl] 조인 (0) | 2024.04.18 |
---|---|
[Querydsl] 집합 함수, GroupBy (0) | 2024.04.18 |
[Querydsl] 결과 조회 (0) | 2024.04.18 |
[Querydsl] 검색 조건 쿼리 (0) | 2024.04.18 |
QueryDSL 세팅 (0) | 2024.04.14 |