문서의 선택한 두 판 사이의 차이를 보여줍니다.
| 양쪽 이전 판 이전 판 다음 판 | 이전 판 | ||
|
java:querydsl [2019/03/30 21:37] kwon37xi |
java:querydsl [2023/12/06 13:44] (현재) kwon37xi [QueryDSL] |
||
|---|---|---|---|
| 줄 5: | 줄 5: | ||
| * [[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. | ||
| + | * [[java: | ||
| + | * [[https:// | ||
| + | |||
| + | ===== 프로젝트 이관 ===== | ||
| + | * 5.x 이후에 https:// | ||
| + | * 이로인해 '' | ||
| + | * https:// | ||
| ===== Q-Types multi thread loading 시 dead lock ===== | ===== Q-Types multi thread loading 시 dead lock ===== | ||
| 줄 43: | 줄 50: | ||
| ===== Native 조건 condition ===== | ===== Native 조건 condition ===== | ||
| * [[http:// | * [[http:// | ||
| + | * JPA 사용시에는 해당 함수가 [[java: | ||
| <code java> | <code java> | ||
| // MySQL의 TIMESTAMPDIFF를 Expression으로 만들기 | // MySQL의 TIMESTAMPDIFF를 Expression으로 만들기 | ||
| 줄 58: | 줄 66: | ||
| } | } | ||
| </ | </ | ||
| + | * [[https:// | ||
| ===== 상수가 들어가는 표현식 ===== | ===== 상수가 들어가는 표현식 ===== | ||
| 줄 88: | 줄 97: | ||
| * [[https:// | * [[https:// | ||
| * '' | * '' | ||
| + | * '' | ||
| + | * 따라서, '' | ||
| + | <code java> | ||
| + | // registerDate 가 DATE 컬럼 일때 | ||
| + | // newRegisterDate 는 LocalDateTime.class | ||
| + | Expression< | ||
| + | .when(qUser.registerDate.eq(expectedRegisterDate)) | ||
| + | .then(qUser.registerDate) // DB 입장에서 DATE 컬럼 | ||
| + | .otherwise( | ||
| + | // DB 입장에서 DATE 인 ' | ||
| + | // 들어가기 때문에 어쩔 수 없이 문자로 모든 것을 넣어줌 | ||
| + | Expressions.dateTimeTemplate(LocalDateTime.class, | ||
| + | newDateTime.format(DateTimeFormatter.ofPattern(" | ||
| + | Expressions.constant(" | ||
| + | ); | ||
| + | </ | ||
| ===== @Embeddable의 필드 소스 생성 ===== | ===== @Embeddable의 필드 소스 생성 ===== | ||
| * Embeddable안에 또 다른 Embeddable이 있을 경우, 더 자식쪽 Embeddable의 경우 명시적 컬럼 매핑('' | * Embeddable안에 또 다른 Embeddable이 있을 경우, 더 자식쪽 Embeddable의 경우 명시적 컬럼 매핑('' | ||