1)
/**
* 회원 정렬 순서
* 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();
}
'개발이 좋아서 > QueryDSL이 좋아서' 카테고리의 다른 글
7장 집합 (1) | 2023.05.12 |
---|---|
6장 페이징 (0) | 2023.05.12 |
4장 결과 조회 (0) | 2023.05.12 |
3장 검색 조건 쿼리 (0) | 2023.05.12 |
2장 JPQL vs QueryDSL (0) | 2023.05.12 |