본문 바로가기

JPA22

[QueryDSL] 5. 실무 활용 - 스프링 데이터 JPA와 Querydsl 실무 활용 - 스프링 데이터 JPA와 Querydsl 1. 스프링 데이터 JPA 리포지토리로 변경 2. 사용자 정의 리포지토리 3. 스프링 데이터 페이징 활용1 - Querydsl 페이징 연동 4. 스프링 데이터 페이징 활용2 - CountQuery 최적화 5. 스프링 데이터 페이징 활용3 - 컨트롤러 개발 📌 스프링 데이터 JPA 리포지토리로 변경 순수 JPA 리포지토리를 스프링 데이터 JPA 리포지토리로 변경 스프링 데이터 JPA - MemberRepository 생성 package study.querydsl.repository; import org.springframework.data.jpa.repository.JpaRepository; import study.querydsl.entity.Membe.. 2023. 5. 31.
[QueryDSL] 4. 실무 활용 - 순수 JPA와 Querydsl 실무 활용 - 순수 JPA와 Querydsl 1. 순수 JPA 리포지토리와 Querydsl 2. 동적 쿼리와 성능 최적화 조회 - Builder 사용 3. 동적 쿼리와 성능 최적화 조회 - Where절 파라미터 사용 4. 조회 API 컨트롤러 개발 📌 순수 JPA 리포지토리와 Querydsl 순수 JPA 리포지토리 @Repository public class MemberJpaRepository { private final EntityManager em; public MemberJpaRepository(EntityManager em) { this.em = em; } public void save(Member member) { em.persist(member); } public Optional findByI.. 2023. 5. 31.
[QueryDSL] 3. 중급 문법 중급 문법 1. 프로젝션과 결과 반환 - 기본 2. 프로젝션과 결과 반환 - DTO 조회 3. 프로젝션과 결과 반환 - @QueryProjection 4. 동적 쿼리 - BooleanBuilder 사용 5. 동적 쿼리 - Where 다중 파라미터 사용 6. 수정, 삭제 벌크 연산 7. SQL function 호출하기 📌 프로젝션과 결과 반환 - 기본 프로젝션이란 select절에 조회할 대상을 지정하는 것이다. 프로젝션 대상이 하나 List result = queryFactory .select(member.username) .from(member) .fetch(); 프로젝션 대상이 하나인 경우 타입을 명확하게 지정할 수 있다. → List 프로젝션 둘 이상이면 튜플*이나 DTO로 조회한다. 튜플* : qu.. 2023. 5. 29.
[QueryDSL] 2. 기본 문법 기본 문법 1. 시작 - JPQL vs Querydsl 2. 기본 - Q-Type 활용 3. 검색 조건 쿼리 4. 결과 조회 5. 정렬 6. 페이징 7. 집합 8. 조인 - 기본 조인 9. 조인 - on절 10. 조인 - 페치 조인 11. 서브 쿼리 12. Case 문 13. 상수, 문자 더하기 📌 시작 - JPQL vs Querydsl 테스트 기본 코드 @SpringBootTest @Transactional public class QuerydslBasicTest { @PersistenceContext private EntityManager em; @BeforeEach void before() { Team teamA = new Team("teamA"); Team teamB = new Team("teamB.. 2023. 5. 28.