오봉이와 함께하는 개발 블로그
Querydsl - SQL Function 호출하기 본문
728x90
SQL function 호출하기
SQL function은 JPA와 같이 방언(Dialect
)에 등록된 내용만 호출할 수 있다.
member -> M으로 변경하는 replace 함수 사용
@Test
void sqlFunction() {
List<String> result = queryFactory
.select(Expressions.stringTemplate(
"function('replace', {0}, {1}, {2})",
member.username, "member", "M"))
.from(member)
.fetch();
for (String s : result) {
System.out.println("s = " + s);
}
}
s = M1
s = M2
s = M3
s = M4
소문자로 변경해서 비교
@Test
void sqlFunctionLower() {
List<String> result = queryFactory
.select(member.username)
.from(member)
.where(member.username.eq(
Expressions.stringTemplate("function('lower', {0})", member.username)
)
)
.fetch();
for (String s : result) {
System.out.println("s = " + s);
}
}
lower 같은 ansi 표준 함수들은 querydsl이 상당부분 내장하고 있다.
따라서 다음과 같이 처리해도 결과는 같다.
.where(member.username.eq(member.username.lower()))
인프런 김영한 지식공유자님 강의 : 실전! Querydsl
728x90
'BE > JPA' 카테고리의 다른 글
Querydsl - 동적 쿼리와 성능 최적화 조회 Builder 사용 (0) | 2022.09.20 |
---|---|
Querydsl - 순수 JPA와 Querydsl (0) | 2022.09.20 |
Querydsl - 수정, 삭제 벌크 연산 (0) | 2022.09.19 |
Querydsl - 동적 쿼리(Where 다중 파라미터 사용) (0) | 2022.09.18 |
Querydsl - 동적 쿼리(BooleanBuilder) (0) | 2022.09.18 |
Comments