본문 바로가기
728x90
반응형

Spring/Querydsl7

[Spring boot 3.0.0 이상] build.gradle 설정 현상 Spring boot 3.0.0으로 업데이트 되면서 javax에서 jakarta로 넘어가는 패키지들이 문제를 발생한다. 예를들면, QueryDsl을 위한 설정 파일인 경우 JPAQueryFactory에 entityManager를 넣을 경우 에러가 발생한다. @Configuration public class QueryDslConfig { @PersistenceContext private EntityManager entityManager; @Bean public JPAQueryFactory jpaQueryFactory(){ return new JPAQueryFactory(entityManager); } } JPAQueryFactory의 EntityManager의 의존성 폴더는 javax.persiste.. 2022. 12. 13.
Query DSL 시작하기 참고 Querydsl 기본문법 학습하기 Querydsl 다이나믹 쿼리 사용하기JPA와 비교 JPA 비교해 JPA의 장점 가독성이 좋다. JPA에서 기본적으로 제공하는 기능을 넘어서는 기능은 일반적으로 native query 옵션으로 수행한다. -> 문자열을 이어붙이는 형태이므로 오타로 인해 런타임 시 오류가 발생할 가능성이 높다. 컴파일 시점에서 에러를 체크할 수 있다. IDE의 자동 완성 기능이 지원된다. 동적쿼리를 지원한다. 단점 추가적인 학습이 필요하다. ex) member.age.gt(10)은 age > 10을 의미한다. native query문이 아니므로, RDBMS나 MySQL에서 쿼리문을 실행하기 위해서는 다시 쿼리문을 작성해야 한다. 주의 사항 jpa에서 사용되는 Entity 등의 어노테이.. 2022. 12. 12.
Query DSL - Dynamic Query 2022.06.24 - [Spring/Querydsl] - Query DSL 시작하기 Query DSL 시작하기 참고 Querydsl 기본문법 학습하기 Querydsl 다이나믹 쿼리 사용하기JPA와 비교 JPA 비교해 JPA의 장점 가독성이 좋다. JPA에서 기본적으로 제공하는 기능을 넘어서는 기능은 일반적으로 native query 옵션으 twer.tistory.com DB Member Table Dynamic Query QueryDSL은 원하는 필드만 DTO로 뽑을 수 있다. 동적 쿼리를 처리하는 두 가지 방법 BooleanBuilder를 이용하는 방법 Where 절에서 파라미터를 이용하는 방법 BooleanBuilder null인지 아닌지 판별하여 builder를 조립해서 where 문에 넣는다. .. 2022. 7. 6.
Query DSL - Paging 2022.06.24 - [Spring/Querydsl] - Query DSL 시작하기 Query DSL 시작하기 참고 Querydsl 기본문법 학습하기 Querydsl 다이나믹 쿼리 사용하기JPA와 비교 JPA 비교해 JPA의 장점 가독성이 좋다. JPA에서 기본적으로 제공하는 기능을 넘어서는 기능은 일반적으로 native query 옵션으 twer.tistory.com DB Member table 예제 count 쿼리를 select 쿼리와 분리하여 사용하는 것이 좋다. offset() : 0부터 시작. 앞에 스킵할 row의 수 지정 limit() : 최대로 가져올 row의 수 @Repository public class MemberRepositorySupport extends QuerydslReposi.. 2022. 7. 6.
LIST