본문 바로가기

where2

[querydsl] 동적 쿼리 만들기 mybatis는 특정한 xml에서 sql을 처리하고, 거기서 또 동적 쿼리를 처리한다. 이게 생각보다 나는 많이 불편했다. querydsl은 java 코드 내에서 동적 쿼리 처리가 가능하다. 이는 큰 이점이라고 생각한다. 오늘은 querydsl에서 동적쿼리를 처리하는 두가지 방법에 대해 작성해보려고한다. 1.BooleanBuilder 이 방법은 QueryDSL에서 공식적으로 문서로 남겨져 있는 방식인데 null인지 아닌지를 판별하여 builder를 조립해서 끼워 넣는 방식으로 작업을 한다. //BooleanBuilder builder = new BooleanBuilder(member.userName.eq(nameCond)); // 이런식으로 초기값 설정 가능 BooleanBuilder builder = .. 2021. 7. 8.
[querydsl] querydsl 에서 서브쿼리 사용하는 법 하이 .. 오늘은 querydsl에서 서브쿼리를 사용하는 방법을 정리해 두려고 한다. 1. where 절 서브 쿼리 1) 기본 사용 법 기본적인 사용 방법을 아래 예제로 만들었다. 여기서 주의해야할 점은 Q 도메인을 서브 쿼리에서 사용할 놈은 따로 만들어 줘야한다는 것이다. 그리고 서브쿼리는 JPAExpressions라는 것을 이용해서 구현할 수 있는데, Q 도메인을 Static 처리한 것 처럼 이것 역시 처리가 가능하다. QMember subMember = new QMember("subMember"); List result = queryFactory .selectFrom(member) .where(member.age.eq( //JPAExpressions. select(subMember.age.min().. 2021. 7. 5.