반응형 querydsl4 SpringBoot 3.0 에서의 Querydsl 적용 springBoot 3.0 에 JPA 를 도입하면서 몇가지 바뀐점이 있어 Querydsl 적용이 안되는 이슈가 있었다. Jakarta EE 기존 오라클 프로젝트인 JavaEE 를 이클립스 재단으로 이관하면서 상표권 문제 때문에 JavaEE 의 패키지 네임 인 ‘javax.’ 를 JakartaEE 로 만들어 ‘jakarta.’ 로 변경하였다. Java Persistence API (javax.persistence) -> Jakarta Persistence (jakarta.persistence) 따라서 build.gradle 에 아래와 같이 설정해주어야 한다. implementation 시 마지막은 :jakarta 임에 주의한다. ... ext { querydslVersion = '5.0.0'.. 2023. 8. 31. Querydsl - 3편 Null, 빈 값 체크 Spring 에서 제공하는 StringUtils.hasText() 를 사용하면 된다. if (StringUtils.hasText(condition.getUsername())) { } StringUtils isEmpty Deprecated String 을 null 체크, 빈 값 체크하기 위해 StringUtils.isEmpty() 를 사용했으나, Deprecated 되었길래 대안을 찾아보았다. String 타입이라면 hasLength 또는 hasText 를 사용하라. Object 타입이라면 ObjectUtils 의 isEmpty 를 사용하라. BooleanBuilder 로 동적 쿼리를 만들 때 주의할 점 MemberSearchCondition condition = new Member.. 2022. 2. 15. Querydsl - 2편 프로젝션 프로젝션이란 select 대상을 지정하는 것이다. 프로젝션 대상이 하나인 경우 List result = queryFactory.select(member.username) .from(member) .fetch(); List result = queryFactory.select(member) .from(member) .fetch(); 프로젝션 대상이 하나면 타입을 명확하게 지정할 수 있다. 프로젝션 대상이 둘 이상이면 튜플이나 DTO 로 조회 튜플 조회 프로젝션 대상이 둘 이상일 때 사용 List result = queryFactory.select(member.username, member.age) .from(member) .fetch(); for (Tuple tuple : result) { Stri.. 2022. 2. 8. Querydsl - 1편 현업에서 Spring Data JPA + Querydsl 은 거의 무조건 사용되므로 잘 이해하고 사용하자. Querydsl 장점 쿼리를 자바 코드로 작성하여 문법 오류를 컴파일 시점에 잡음 동적 쿼리 문제 해결 쉬운 SQL 스타일 문법 build.gradle 설정 Spring Boot 2.6 이상 버전에서는 Querydsl 5.0 을 사용하므로 아래와 같이 querydsl-jpa, querydsl-apt 을 추가하고, 버전을 명시해주어야 한다. querydsl-jpa : 실제 애플리케이션에서 Querydsl 을 사용할때 필요한 라이브러리 querydsl-apt : Q 클래스를 만드는 용도로 쓰임 buildscript { ext { queryDslVersion = "5.0.0" } } plugins { i.. 2022. 2. 8. 이전 1 다음