Spring(41)
-
10. 객체지향 쿼리 언어 JPQL (2)
5. 경로 표현식 1) 용어 정리 2) 실무 조언 6. 페치 조인(fetch join) 6-1. 개념 6-2. 사용 예시 1) em.find()로 Member 조회 2) JPQL로 Member 리스트 조회 3) JPQL의 페치 조인으로 Member 리스트 조회 6-3. 컬렉션 페치 조인시 주의사항 1) 중복 데이터 문제 2) 컬렉션 2개 이상 페치 조인 금지 3) 컬렉션 페치 조인 + 페이징 API 금지 6-4. 실무 조언 7. 다형성 쿼리 8. 엔티티 객체를 조건절에 직접 사용 1) 기본 키 기준 비교 2) 외래 키 기준 비교 9. Named 쿼리 1) NamedQuery 2) 어노테이션 방식 3) 장단점 및 실무조건 10. 벌크 연산 1) 벌크연산 2) 예시 3) 주의사항5. 경로 ..
2025.06.23 -
10. 객체지향 쿼리 언어 JPQL (1)
1. 객체지향 쿼리 언어 소개 1) JPA에서 지원하는 다양한 쿼리 방법 2) JPQL 3) JPQL의 특징 2. JPQL 사용 흐름 1) Query 객체 생성 2) 파라미터 바인딩 3) 쿼리 실행 3. JPQL 기본 문법과 기능 1) 문법 구조 2) 집합과 정렬 함수 3) 결과 조회 API 4) 파라미터 바인딩 5) 프로젝션 6) 페이징 API 4. 조인 및 서브 쿼리 1) 조인 종류 2) ON 절 3) 서브 쿼리 5. 타입 표현과 조건식 1) 타입 2) 조건식 3) 기본 함수1. 객체지향 쿼리 언어 소개1) JPA에서 지원하는 다양한 쿼리 방법쿼리 방법설명JPQLJPA에서 제공하는 객체지향 쿼리 언어. 가장 널리 사용됨.Criteria API자바 코드 기반으로 쿼리 생성. 정적 타입 보장. 하지..
2025.06.23 -
9. 값 타입
1. 값 타입1) 엔티티 타입 vs 값 타입2) 값 타입의 종류2. 복합 값 타입 (임베디드 타입) 1) 예시 구조2) 테이블에 매핑3) 장점3. 타입 별 공유 개념과 주의사항 1) 엔티티 타입의 공유2) 기본값 타입의 공유 3) 복합값 타입의 공유: 주의 필요! 4. 타입 별 비교 방식 1) 자바에서의 객체 비교 방식 3가지2) 엔티티 타입의 비교 방식3) 기본값 타입의 비교 방식 4) 복합값 타입 비교5) 비교 방식 정리 5. 값 타입 컬렉션1) 사용 방식 & 예제 2) 동작 방식3) 제약사항4) 실무 대안1. 값 타입1) 엔티티 타입 vs 값 타입구분엔티티 타입값 타입정의 방식@Entity로 정의되는 클래스엔티티가 아닌, 순수한 값만을 표현하는 타입식별 방법 ID와 같은 식별자 내부 값 자체로..
2025.06.19 -
8. 프록시와 연관관계 관리
1. 프록시1) 조회시 비효율적인 상황 생각해보기 2) em.find()와 em.getReference() 차이 3) 처음 반환되는 프록시 객체 (껍데기) 4) 프록시 초기화 5) 프록시 관련 유틸2. 즉시 로딩과 지연 로딩1) 기본 개념2) LAZY 예시3) EAGER 예시4) 실무 권장 전략3. 영속성 전이 (Cascade)1) 기본 개념2) 설정 예시3) 주의사항4. 고아 객체 제거 (orphanRemoval)1) 개념2) 설정 예시3) 주의사항 4) 영속성 전이 + 고아 객체의 생명주기 관리 조합 1. 프록시1) 조회시 비효율적인 상황 생각해보기 public void printUser(String memberId) { Member member = em.find(Member.class, mem..
2025.06.18 -
7. 상속관계 매핑
1. 상속관계 매핑1) 개념2) 구현 전략 3가지 3) 주요 어노테이션2. 상속 전략별 특징1) 조인 전략 (JOINED)2) 단일 테이블 전략 (SINGLE_TABLE)3) 구현 클래스마다 테이블 전략 (TABLE_PER_CLASS)3. @MappedSuperclass1) 개념 및 역할2) 사용 목적3) 참고 사항1. 상속관계 매핑1) 개념관계형 데이터베이스는 객체의 상속 개념이 없음.대신 슈퍼타입-서브타입 관계라는 모델링 기법을 통해 객체 상속과 유사하게 표현.JPA에서는 객체의 상속 구조를 DB의 슈퍼타입-서브타입 관계로 매핑하는 것을 상속관계 매핑이라 함설정해놓은 상속관계 매핑 구현 전략에 따라 JPA가 알아서 테이블 생성 및 데이터 추가, 수정, 삭제 쿼리를 작성해준다. 2) 구현 전략 3가지 ..
2025.06.16 -
6. 연관관계 매핑 - 다중성
1. 다대일 연관관계 [@ManyToOne]1) 다대일 단방향 2) 다대일 양방향2. 일대다 연관관계 [@OneToMany]1) 일대다 단방향2) 일대다 양방향3. 일대일 연관관계 [@OneToOne]1) 일대일 연관관계 2) 일대일 연관관계 구현4. 다대다 연관관계 [@ManyToMany]1) 이론적 구조2) 다대다 연결관계의 한계 1. 다대일 연관관계 [@ManyToOne]1) 다대일 단방향 @Entitypublic class Member { @ManyToOne @JoinColumn(name = "TEAM_ID") // Member 테이블에 있는 외래키 "TEAM_ID"를 Member.team 필드로 관리 private Team team;}2) 다대일 양방향@Entitypubli..
2025.06.16