문서의 선택한 두 판 사이의 차이를 보여줍니다.
양쪽 이전 판 이전 판 다음 판 | 이전 판 다음 판 양쪽 다음 판 | ||
java:querydsl [2015/02/05 16:23] kwon37xi [Metamodel 생성] |
java:querydsl [2020/07/15 17:56] kwon37xi [Native 조건 condition] |
||
---|---|---|---|
줄 1: | 줄 1: | ||
====== QueryDSL ====== | ====== QueryDSL ====== | ||
* http:// | * http:// | ||
+ | * [[java: | ||
+ | * [[java: | ||
* [[http:// | * [[http:// | ||
* Querydsl is a framework which enables the construction of type-safe SQL-like queries for multiple backends including JPA, JDO and SQL in Java. | * Querydsl is a framework which enables the construction of type-safe SQL-like queries for multiple backends including JPA, JDO and SQL in Java. | ||
+ | |||
+ | ===== Q-Types multi thread loading 시 dead lock ===== | ||
+ | * [[http:// | ||
+ | <code java> | ||
+ | // 미리 초기화를 호출하는게 좋다. packageToLoad 를 변경해준다. | ||
+ | ClassPathUtils.scanPackage(Thread.currentThread().getContextClassLoader(), | ||
+ | </ | ||
+ | |||
+ | ===== join 성능 향상 ===== | ||
+ | * Join 시 그 결과로 나오는 관계 객체를 Eager Loading 하려면 '' | ||
+ | |||
+ | <code java> | ||
+ | from(parent).innerJoin(parent.child).fetch() | ||
+ | .... | ||
+ | </ | ||
===== JPA QueryDSL Cross Join 발생 ===== | ===== JPA QueryDSL Cross Join 발생 ===== | ||
줄 19: | 줄 36: | ||
.where(parent.something.gt(child.somthing))....; | .where(parent.something.gt(child.somthing))....; | ||
</ | </ | ||
+ | |||
+ | ===== JPA Subquery & JPAExpressions ===== | ||
+ | * JPA Subquery 는 '' | ||
+ | * SELECT 에서 사용할 때는 '' | ||
===== Native 조건 condition ===== | ===== Native 조건 condition ===== | ||
* [[http:// | * [[http:// | ||
+ | * JPA 사용시에는 해당 함수가 [[java: | ||
<code java> | <code java> | ||
// MySQL의 TIMESTAMPDIFF를 Expression으로 만들기 | // MySQL의 TIMESTAMPDIFF를 Expression으로 만들기 | ||
줄 63: | 줄 85: | ||
} | } | ||
</ | </ | ||
+ | |||
+ | ===== Case/When ===== | ||
+ | * [[https:// | ||
+ | * '' | ||
===== @Embeddable의 필드 소스 생성 ===== | ===== @Embeddable의 필드 소스 생성 ===== | ||
줄 70: | 줄 96: | ||
==== Metamodel 생성 ==== | ==== Metamodel 생성 ==== | ||
* [[gradle: | * [[gradle: | ||
+ | * [[gradle: | ||
* Java 7에서 '' | * Java 7에서 '' | ||
Caused by: java.lang.NullPointerException | Caused by: java.lang.NullPointerException | ||
줄 84: | 줄 111: | ||
* [[http:// | * [[http:// | ||
* [[http:// | * [[http:// | ||
+ | * [[https:// |