QueryDsl : fetch()

조홍식·2022년 9월 6일

Java 관련 정리

목록 보기
16/17

querydsl의 fetch문법이 자꾸 헷갈려서 정리해놓는다 !

fetch

fetch를 이용해서 querydsl 의 결과를 반환할수 있는데 여기서 여러가지 방법이 있다.

 
1) fetch()

리스트로 결과를 반환하는 방법이다. 만약에 데이터가 없으면 빈 리스트를 반환해준다.

List<Member> fetch = queryFactory
		.selectFrom(member)
        	.fetch();
 

2) fetchOne()

단건을 조회할 때 사용한다. 결과가 없을때는 null 을 반환하고 결과가 둘 이상일 경우에는 NonUniqueResultException을 던진다.

Member fetchOne = queryFactory
		.selectFrom(member)
        	.fetchOne();
 

3) fetchFirst()

처음의 한건을 가져오고 싶을때 사용한다.

주석에 있는 표현과 같은 표현이다.

Member fetchFirst = queryFactory
		.selectFrom(QMember.member)
		//.limit(1).fetchOne()
		.fetchFirst();
 

4) fetchResults()

페이징을 위해 사용될 수 있다. 페이징을 위해서 total contents를 가져온다.

QueryResults<Member> results = queryFactory
		.selectFrom(member)
		.fetchResults();
 

5) fetchCount()

count 쿼리를 날릴 수 있다.

long count = queryFactory
		.selectFrom(member)
		.fetchCount();

참고 블로그 :https://devkingdom.tistory.com/243

profile
work hard!

0개의 댓글