~/tech-blog/series/jpa-basic — zsh
지금 --명이 보고 있습니다오늘 --누적 --

자바 ORM 표준 JPA 13 posts

2022.04.29 · Spring JPA · 다 읽는 데 약 96분

01

JPA 시작하기

JPA 프로젝트에 필요한 라이브러리와 persistence.xml 설정, Persistence에서 EntityManager까지 이어지는 구동 방식, 트랜잭션 안에서 회원을 저장하는 기본 동작과 JPQL 사용법을 정리합니다.

2022.04.29 · 7 min
02

영속성 컨텍스트

엔티티의 생명주기와 영속성 컨텍스트가 제공하는 1차 캐시, 동일성 보장, 쓰기 지연, 변경 감지, 그리고 플러시가 호출되는 시점과 플러시 모드, 준영속 상태를 예제로 정리합니다.

2022.04.29 · 8 min
03

엔티티 매핑

@Entity, @Table, @Column 등 엔티티와 테이블을 매핑하는 어노테이션과 스키마 자동 생성 옵션, IDENTITY·SEQUENCE·TABLE 기본 키 생성 전략과 SEQUENCE 최적화를 정리합니다.

2022.04.29 · 10 min
04

연관관계 매핑 기초

테이블의 외래 키와 객체의 참조가 어떻게 다른지 회원·팀 예제로 비교하고, 단방향·양방향 매핑과 외래 키를 관리하는 연관관계의 주인을 정하는 기준을 정리합니다.

2022.04.29 · 11 min
05

다양한 연관관계 매핑

다대일·일대다·일대일 연관관계를 단방향과 양방향으로 매핑하는 방법과, 외래 키 위치에 따라 달라지는 각 방식의 장단점을 정리합니다.

2022.04.29 · 7 min
06

상속관계 매핑과 @MappedSuperclass

객체의 상속 구조를 테이블로 옮기는 조인·단일 테이블·구현 클래스마다 테이블 전략의 테이블 구조와 장단점을 비교하고, 공통 매핑 정보를 모으는 @MappedSuperclass의 쓰임을 정리합니다.

2022.04.29 · 5 min
07

프록시의 동작 원리

em.find()와 em.getReference()의 차이, 프록시 객체가 영속성 컨텍스트를 통해 초기화되는 과정, 프록시를 사용할 때 주의할 점과 확인 방법을 예제로 정리합니다.

2022.04.29 · 6 min
08

즉시 로딩과 지연 로딩

FetchType.LAZY와 FetchType.EAGER로 연관된 Team을 조회하는 시점이 어떻게 달라지는지 프록시 관점에서 정리하고, 즉시 로딩이 일으키는 N+1 문제와 실무에서 지연 로딩을 쓰는 이유를 짚습니다.

2022.04.29 · 3 min
09

영속성 전이와 고아 객체

CASCADE 옵션으로 부모와 자식 엔티티를 함께 영속화하는 방법과 사용하는 경우, orphanRemoval로 고아 객체를 제거하는 원리, 두 옵션을 함께 써서 자식의 생명주기를 관리하는 방법을 정리합니다.

2022.04.29 · 5 min
10

값 타입 기초 - 기본값 타입과 임베디드 타입

JPA의 엔티티 타입과 값 타입의 차이, 기본값 타입의 특징, 임베디드 타입을 정의하고 테이블에 매핑하는 방법, @AttributeOverride로 컬럼명을 재정의하는 방법을 정리합니다.

2022.04.29 · 7 min
11

값 타입 공유와 불변 객체

임베디드 값 타입을 여러 엔티티가 공유할 때 생기는 부작용과 불변 객체 설계, 값 타입 컬렉션의 제약과 이를 일대다 엔티티로 대체하는 방법을 정리합니다.

2022.04.29 · 8 min
12

JPQL 기본 문법

JPQL의 기본 문법과 TypedQuery, 파라미터 바인딩, 프로젝션, 페이징, 조인, 서브쿼리, CASE 식 등 자주 쓰는 문법을 정리합니다.

2022.04.29 · 11 min
13

JPQL 경로 표현식과 페치 조인

JPQL 경로 표현식에서 명시적 조인과 묵시적 조인의 차이를 정리하고, 페치 조인의 동작 방식과 일반 조인과의 차이, DISTINCT·페이징 관련 한계를 설명합니다.

2022.04.29 · 8 min
● main 231 posts UTF-8 LF © 2026 코징 RSS · GitHub