학습 일지130 [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. [QueryDSL] 1. 예제 도메인 모델 예제 도메인 모델 1. 예제 도메인 모델과 동작확인 📌 예제 도메인 모델과 동작확인 엔티티 클래스 Member 입장에서 다 수의 회원은 하나의 팀에 소속될 수 있다. → 다(N) 대 일(1) 관계 Team 입장에서 하나의 팀에는 다 수의 회원이 소속될 수 있다. → 일(1) 대 다(N) 관계 ERD 외래키(FK)는 Member가 갖는다. Member 엔티티 @Entity @Getter @Setter @NoArgsConstructor(access = AccessLevel.PROTECTED) @ToString(of = {"id", "username", "age"}) public class Member { @Id @GeneratedValue @Column(name = "member_id") private Lo.. 2023. 5. 26. [Spring Data JPA] 5. 스프링 데이터 JPA 분석 스프링 데이터 JPA 분석 1. 스프링 데이터 JPA 구현체 분석 2. 새로운 엔티티를 구별하는 방법 📌 스프링 데이터 JPA 구현체 분석 스프링 데이터 JPA가 제공하는 공통 인터페이스의 구현체 org.springframework.data.jpa.repository.support.SimpleJpaRepository SimpleJpaRepository @Repository @Transactional(readOnly = true) public class SimpleJpaRepository implements JpaRepositoryImplementation { //... @Transactional @Override public S save(S entity) { Assert.notNull(entity, "E.. 2023. 5. 22. [Spring Data JPA] 4. 확장 기능 확장 기능 1. 사용자 정의 리포지토리 구현 2. Auditing 3. Web 확장 - 도메인 클래스 컨버터 4. Web 확장 - 페이징과 정렬 📌 사용자 정의 리포지토리 구현 스프링 데이터 JPA 리포지토리는 인터페이스만 정의하고 구현체는 스프링이 자동으로 생성한다. 스프링 데이터 JPA는 인터페이스로 되어있기 때문에 상속받아 구현을 하게 되면 모든 기능을 다 구현해야 한다. → 현실적으로 불가능 특정 기능에 JPA가 아닌 다른 데이터베이스 커넥션 방법을 사용할 수 있게 사용자 정의 리포지토리 기능을 JPA가 제공한다. JPA 직접 사용(EntityManager) 스프링 JDBC Template 사용 Mybatis 사용 QueryDSL 사용 데이터베이스 커넥션 직접 사용 등... 사용자 정의 인터페이스.. 2023. 5. 22. 이전 1 ··· 19 20 21 22 23 24 25 ··· 33 다음