QueryDSL 5

QueryDSL 동적 쿼리 및 Bulk 연산

지난 포스팅에서는 QueryDSL의 Projection에 대해 알아보았습니다. 이번 포스팅은 동적 쿼리를 BooleanBuilder 사용과 Where 다중 파라미터 사용방법에 대해 알아보고 이어서 다중 업데이트 및 삭제를 위한 벌크 연산에 대해 알아보려고 합니다😊 개요 이전 포스팅에서 사용했던 엔티티들을 재사용할 예정입니다. 혹여 엔티티 클래스의 코드가 궁금하신 분들은 엔티티 설계 포스팅을 참고해주세요😄 📌 저는 BeforeEach 어노테이션을 활용해 가 데이터가 들어간 상황에서 테스트를 진행한 것입니다. @BeforeEach public void before() { queryFactory = new JPAQueryFactory(em); Team teamA = new Team("teamA"); Team ..

JPA 2022.11.15

QueryDSL Projection 결과 반환하는 방법

이전 포스팅에서는 Query DSL을 사용해서 조인하는 방법에 대해 알아보았습니다. 이번 포스팅은 Projection 결과를 반환하는 방법에 대해 알아보려고 합니다. 프로젝션(Projection)은 select 절에서 어떤 칼럼들을 조회할지 대상을 지정하는 것을 말합니다😄 개요 이전 포스팅에서 사용했던 엔티티들을 재사용할 예정입니다. 혹여 엔티티 클래스의 코드가 궁금하신 분들은 엔티티 설계 포스팅을 참고해주세요😄 📌 저는 BeforeEach 어노테이션을 활용해 가데이터가 들어간 상황에서 테스트를 진행한 것입니다. @BeforeEach public void before() { queryFactory = new JPAQueryFactory(em); Team teamA = new Team("teamA"); T..

JPA 2022.11.14

QueryDSL 조인 사용 방법

이전 포스팅에서는 Query DSL을 사용하여 정렬하는 방법과 페이징 처리 등을 포스팅하였습니다. 오늘은 기본 조인 방법부터 fetch 조인까지 알아보려 합니다😄 개요 이전 포스팅에서 사용했던 엔티티들을 재사용할 예정입니다. 혹여 엔티티 클래스의 코드가 궁금하신 분들은 엔티티 설계 포스팅을 참고해주세요😄 📌 저는 BeforeEach 어노테이션을 활용해 가데이터가 들어간 상황에서 테스트를 진행한 것입니다. @BeforeEach public void before() { queryFactory = new JPAQueryFactory(em); Team teamA = new Team("teamA"); Team teamB = new Team("teamB"); em.persist(teamA); em.persist(t..

JPA 2022.11.01

QueryDSL 정렬과 페이징 처리 및 집합 예시

이전 포스팅에서는 Query DSL을 사용하여 데이터를 조회하는 간단한 예시를 만들었었습니다. 이번 포스팅에서는 조회한 결과물을 정렬하고 페이징 처리하는 방법에 대해 알아볼게요😄 개요 이전 포스팅에서 사용했던 엔티티들을 재사용 할 예정입니다. 혹여 엔티티 클래스의 코드가 궁금하신 분들은 엔티티 설계 포스팅을 참고해주세요😄 📌 저는 BeforeEach 어노테이션을 활용해 가데이터가 들어간 상황에서 테스트를 진행한 것입니다. @BeforeEach public void before() { queryFactory = new JPAQueryFactory(em); Team teamA = new Team("teamA"); Team teamB = new Team("teamB"); em.persist(teamA); em..

JPA 2022.10.31

QueryDSL 사용하는 조회 예제

이전 포스팅에서는 QueryDSL을 적용하고 도메인 모델을 살펴본 후 각 엔티티들을 설계하였다. 오늘은 기존 JPQL과의 차이를 살펴보면서 조회하는 예제를 만들어보려 한다. 개요 이전 포스팅에서 도메인 모델과 엔티티 클래스를 설계하였습니다. 해당 엔티티 코드는 이전 포스팅에 있으며, 따라 하지 않는 분들은 흐름만 파악하셔도 충분합니다. Member와 Team은 다대일 양방향 관계로 매핑되어 있습니다😄 예제 코드📔 @SpringBootTest @Transactional public class QuerydslBasicTest { @Autowired EntityManager em; JPAQueryFactory queryFactory; @BeforeEach public void before() { queryFa..

JPA 2022.10.28
1