공식 메뉴얼 version 5 http://querydsl.com/static/querydsl/5.0.0/reference/html_single/
build.gradle querydsl Q class build 하는 방법
Querydsl 공부하면서 새롭게 만난 객체들
JPAQueryFactory
: 버전 4에 추가된 객체로서 쿼리를 생성하는데 도움을 준다.@QueryProjection
: dto 객체의 Q class 파일을 빌드하도록 선언하는 역할BooleanExpression
: where 조건에 사용하는 조건식을 표현한 객체로 메서드 체인을 이용한 조건 조립을 위해서 사용했음Predicate
: 조건식을 나타내는 인터페이스 타입으로 BooleanExpression이 해당 인터페이스를 상속하고 있다.JPAQuery<T>
: 쿼리를 나타내는 객체로 fetch() 관련 함수를 이용해서 쿼리를 동작시키거나 select, where, from 과 같은 메서드로 쿼리를 입력하는데 사용함.PageableExecutionUtils.getPage()
: Page 타입을 리턴하기 위해서 사용하면 유용한 유틸 클래스BooleanBuilder
: where 조건에 쓰이는 조건을 동적으로 적용하기 위해서 사용하는 클래스JPAExpressions
: 서브쿼리를 이용하기 위해서 사용한 클래스CaseBuilder
: case when then 을 적용하기 위한 클래스Expressions.constant()
: 상수를 표현하기 위한 방법Expressions.stringTemplate()
: sql function을 사용하기 위한 방법
Expressions.stringTemplate(
"function('replace', {0}, {1}, {2})",
member.username, "member", "M"))
Projections
프로젝션을 dto로 표시할 때 사용함- 필드 주입 : field
- setter 주입 : bean
- 생성자 주입 : constructor
ExpressionUtils
: 서브쿼리에 alias를 적용할 때 사용
ExpressionUtils.as(select(memberSub.age.max()).from(memberSub), "age")
'db' 카테고리의 다른 글
TIMESTAMP, DATETIME, DATE 타입이란? (0) | 2023.12.13 |
---|---|
index가 왜 필요한가? (1) | 2023.04.25 |