JPA 시작하기
JPA 프로젝트에 필요한 라이브러리와 persistence.xml 설정, Persistence에서 EntityManager까지 이어지는 구동 방식, 트랜잭션 안에서 회원을 저장하는 기본 동작과 JPQL 사용법을 정리합니다.
JPA 프로젝트에 필요한 라이브러리와 persistence.xml 설정, Persistence에서 EntityManager까지 이어지는 구동 방식, 트랜잭션 안에서 회원을 저장하는 기본 동작과 JPQL 사용법을 정리합니다.
em.find()와 em.getReference()의 차이, 프록시 객체가 영속성 컨텍스트를 통해 초기화되는 과정, 프록시를 사용할 때 주의할 점과 확인 방법을 예제로 정리합니다.
CASCADE 옵션으로 부모와 자식 엔티티를 함께 영속화하는 방법과 사용하는 경우, orphanRemoval로 고아 객체를 제거하는 원리, 두 옵션을 함께 써서 자식의 생명주기를 관리하는 방법을 정리합니다.
JPA 영속성 컨텍스트의 캐싱·더티 체킹·쓰기 지연 동작 원리와 플러시 발생 시점을 정리하고, 배치 처리와 플러시 모드를 활용한 성능 최적화 방법을 소개합니다.
JPA·Hibernate 기반 데이터 액세스 계층의 성능을 응답 시간과 처리량으로 측정하는 기준과, SQL 로깅·스키마 관리·커넥션 관리와 모니터링·Hibernate 통계·Enum 매핑에서 챙길 점을 정리합니다.
JPA의 ID 생성 전략(IDENTITY, SEQUENCE, UUID)과 대규모 배치 처리, OneToMany·OneToOne·ManyToMany 연관관계 매핑에서 성능을 고려해 선택하는 기준을 정리합니다.
JPA의 상속 매핑 전략인 SINGLE_TABLE, JOINED, TABLE_PER_CLASS와 @MappedSuperclass를 테이블 구조와 성능 관점에서 비교하고, 실무에서 전략을 고르는 기준과 최적화 방법을 정리합니다.