반응형
1. DATE_FORMAT() 사용하기
, ExpressionUtils.as(
Expressions.stringTemplate(
"DATE_FORMAT({0}, {1})"
, accountLog.logTime
, ConstantImpl.create("%Y-%m-%d %H:%i:%S.%f")).substring(0, 23)
, "_logTime")
ExpressionUtils.as([Expressions], [Alias])를 통해서 select 쿼리 시 해당 필드가 날짜 형식일 경우 다음과 같이 원하는 포맷형태로 변경 가능하다.
2. 다른 테이블 데이터 조회 결과 sub query
, ExpressionUtils.as(
JPAExpressions.select(group.groupName)
.from(group).where(group.groupId.eq(accountLog.assignedGroupId))
, "assignedGroupName")
JPAExpressions.select 메서드를 사용하여 해당 필드 조건에 해당하는 다른 테이블의 데이터를 조회해서 필드를 정의 할 수 있다.
3. when ~ case문 사용하여 sub query 사용하기
JPAExpressions.select(
new CaseBuilder().when(clientDeleteWeb.idx.count().gt(0))
.then("Y")
.otherwise("N"))
.from(clientDeleteWeb)
.where(clientDeleteWeb.groupId.eq(client.groupIdx.groupId)
.and(clientDeleteWeb.uid.eq(client.uid)));
jpa에서는 일반적인 rdb query 작성시 사용하는 when case 문법을 CaseBuilder() 메서드를 사용해서 구현 가능하다.
728x90
'[개발관련] > SpringFramework' 카테고리의 다른 글
[SpringFramework]Intellij CE(Community Edition)에서 Spring boot-maven jsp가 실행안될 경우 (0) | 2023.02.23 |
---|---|
[spring] gradle에서 log4j 관련 라이브러리 제거 방법 (0) | 2022.08.18 |
Spring Data JPA 로깅 옵션 (0) | 2021.03.29 |
[Spring] @PostConstruct (0) | 2021.03.08 |
스프링 에러 - Request method 'POST' not supported (2) | 2021.01.25 |