[QueryDSL] SQL function 호출하기
포스트
취소

[QueryDSL] SQL function 호출하기

  • QueryDSL에서도 사용 중인 DBMS에 존재하는 함수를 호출할 수 있다.
  • 사용 중인 Dialect에 등록된 함수만 호출할 수 있다.
  • Dialect에 등록되지 않은 함수를 호출하기 위해서는 사용 중인 Dialect를 상속받은 커스텀 Dialect를 생성해야 한다.
  • 함수의 반환 자료형에 따라서 Expressions.xxxTemplate를 통해 사용한다.
    • xxx에는 자료형의 이름이 들어간다.
@Test
public 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);
    }
}

출처

이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.