1. JPA 개요

JPA (Java Persistence API)

Spring Data JPA 구조

Java ↔ Spring Data JPA ↔ JPA (Hibernate) ↔ JDBC ↔ DB

2. Spring Data JPA 개요

Spring Data JPA

Entity 관리

주요 JPA 어노테이션

어노테이션 설명
@Entity 엔티티 클래스 정의
@Table 매핑될 테이블 정보 지정
@Id 기본키(Primary Key) 지정
@GeneratedValue 기본키 자동 생성
@Column 필드-컬럼 매핑
@Query JPQL/네이티브 SQL 작성
@Transactional 트랜잭션 처리 어노테이션

3. JPA 연관관계

관계 어노테이션 패치전략 설명
1:1 @OneToOne EAGER 즉시 조회
N:1 @ManyToOne EAGER 즉시 조회
1\:N @OneToMany LAZY 사용 시점에 조회
N\:M @ManyToMany EAGER 즉시 조회 (보통 별도 테이블 관리 권장)

기본 전략: LAZY 권장