@Override
public Page<vo> findApiApplyList(Pageable pageable){
QVO vo = QVO.vo;
QVoTmp voTmp= QVoTmp.voTmp;
JPQLQuery<vo> query = from(vo)
.select(Projections.fields(vo.class,
vo.column1,
vo.column2,
vo.column3,
vo.column4,
vo.column5,
ExpressionUtils.as(JPAExpressions.select(voTmp.[voTmp에서가져오려는컬럼명])
.from(voTmp)
.where(voTmp.[voTmp와vo를비교할컬럼명].eq(vo.[voTmp와vo를비교할컬럼명]))
, "[alias명]")))
.orderBy(vo.[정렬할컬럼명].desc());
return new PageImpl<>(
getQuerydsl().applyPagination(pageable, query).fetch()
, pageable
, query.fetchCount()
);
}
JPA, QueryDsl로 개발을 하려고 하니 오랜만에 vo(entity .. ) 를 계속 수정해줘야 해서 너무 번거롭다.
하나 작성해놓으면 속도는 금방 붙는 거 같은데, 아직은 쿼리문 하나 쓸 때마다 검색해야 된다.
그래도 이 시간을 통해 배우는 게 있다는 생각이 드니까 재밌다는 생각도 든다.
'개발자 > JPA' 카테고리의 다른 글
[JPA/QueryDsl] insert into select (0) | 2021.08.12 |
---|