중급 문법
프로젝션 결과 반환
기본
List<String> result = queryFactory .select(member.username) .from(member) .fetch();List<Tuple> result = queryFactory .select(member.username, member.age) .from(member) .fetch(); String username = result.get(member.username);
DTO
List<MemberDto> result = queryFactory .select(Projections.bean(MemberDto.class, member.username, member.age)) .from(member) .fetch();List<MemberDto> result = queryFactory .select(Projections.fields(MemberDto.class, member.username, member.age)) .from(member) .fetch();List<MemberDto> result = queryFactory .select(Projections.constructor(MemberDto.class, member.username, member.age)) .from(member) .fetch();
List<UserDto> fetch = queryFactory .select(Projections.fields(UserDto.class, member.username.as("name"), ExpressionUtils.as( //서브쿼리 JPAExpressions .select(memberSub.age.max()) .from(memberSub), "age")) ).from(member) .fetch();
@QueryProjection
동적 쿼리
BooleanBuilder
Where 다중 파라미터
수정, 삭제 벌크 연산
SQL function
Last updated