JPA
환경 설정
개념 정리
- 영속성 관리
- 엔티티 매핑
- @Entity, @Table, @Id, @GeneratedValue, @Column, @Enumerated, @Temporal, @Lob, @Transient
- DDL 생성 기능
- 연관관계 매핑
- @ManyToOne, @OneToMany, @OneToOne
- @JoinColumn
- @Inheritance, @DiscriminatorColumn, @DiscriminatorValue
- @MappedSuperclass
- 프록시와 연관관계 관리
- 값 타입
- JPQL
- 지연 로딩과 조회 성능 최적화
- 컬렉션 조회 최적화
- OSIV
- Spring Data JPA
- JpaRepository, 쿼리 메소드, @Query, 페이징, 벌크 수정 쿼리, @EntityGraph, JPA hint/lock, 네이티브 쿼리
- 사용자 정의 리포지토리, JPA Auditing, Web 확장
- Querydsl
- 락
- Silent Data Loss, Optimistic Lock, Pessimistic Lock, @Version
적용하기