사용자 도구

사이트 도구


java:querydsl

차이

문서의 선택한 두 판 사이의 차이를 보여줍니다.

차이 보기로 링크

양쪽 이전 판 이전 판
다음 판
이전 판
다음 판 양쪽 다음 판
java:querydsl [2019/02/07 11:21]
kwon37xi
java:querydsl [2020/07/15 17:56]
kwon37xi [Native 조건 condition]
줄 12: 줄 12:
 ClassPathUtils.scanPackage(Thread.currentThread().getContextClassLoader(), packageToLoad); ClassPathUtils.scanPackage(Thread.currentThread().getContextClassLoader(), packageToLoad);
 </code> </code>
 +
 ===== join 성능 향상 ===== ===== join 성능 향상 =====
   * Join 시 그 결과로 나오는 관계 객체를 Eager Loading 하려면 ''fetch()'' 를 사용해야 한다.   * Join 시 그 결과로 나오는 관계 객체를 Eager Loading 하려면 ''fetch()'' 를 사용해야 한다.
줄 35: 줄 36:
     .where(parent.something.gt(child.somthing))....;     .where(parent.something.gt(child.somthing))....;
 </code> </code>
 +
 +===== JPA Subquery & JPAExpressions =====
 +  * JPA Subquery 는 ''JPAExpressions.select'' 를 이용하여 각종 Sub Query 생성가능.
 +  * SELECT 에서 사용할 때는 ''ExpressionUtils.as([subquery])'' 로 묶어준다.
  
 ===== Native 조건 condition ===== ===== Native 조건 condition =====
   * [[http://www.querydsl.com/static/querydsl/latest/apidocs/com/mysema/query/support/Expressions.html|Expressions]]의 ''xxxTemplate''를 통해서 native 쿼리 조건을 만들어 낼 수 있다.   * [[http://www.querydsl.com/static/querydsl/latest/apidocs/com/mysema/query/support/Expressions.html|Expressions]]의 ''xxxTemplate''를 통해서 native 쿼리 조건을 만들어 낼 수 있다.
 +  * JPA 사용시에는 해당 함수가 [[java:hibernate|Hibernate]] dialect에 함수(''registerFunction'')로 등록돼 있어야 한다.
 <code java> <code java>
 // MySQL의 TIMESTAMPDIFF를 Expression으로 만들기 // MySQL의 TIMESTAMPDIFF를 Expression으로 만들기
java/querydsl.txt · 마지막으로 수정됨: 2023/12/06 13:44 저자 kwon37xi