JPA (Java Persistence API)자바 진영의 ORM 기술 표준이다. ORM 기술의 등장 배경에 대해서 알아보았다.
JPA 가 Entity 인 Java 클래스를 변환하여, 관계형 데이터베이스에 테이블을 생성해주는 방법을 알아보았다. 또한 객체와 테이블 매핑, 기본 키 매핑, 필드와 컬럼 매핑에 대해 알아보았습니다.
JPA 의 연관관계 및 연관관계 설정 시 주의할 점 (1. 방향성 2. 연관관계의 주인 3. 다중성) 에 대하여 알아보았습니다.
단방향 연관관계를, 다대일(N:1) 단방향 관계의 예시를 통해 알아보았습니다.
양방향 연관관계를, 다대일(N:1) 양방향 관계의 예시를 통해 알아보았습니다.
일대다 (1:N) 관계를 알아보았습니다.
일대일 연관관계를 회원(Member)과 해당 회원의 사물함(Locker)을 예시로 설명해보았습니다. 일대일 연관관계시, 주 테이블에 외래키를 저장하는 형태에 대하여 알아보았습니다.
지난 포스트에 이어서, 일대일 연관관계 시 대상 테이블에 외래키를 저장하는 형태에 대하여 알아보았습니다.
다대다 연관관계를 회원(Member)과 상품(Product)을 예시로 알아보았습니다.
회원(Member)과 팀(Team)의 다대일 단방향 관계를 예시로 들어 JPA 의 지연로딩에 쓰이는 Proxy 에 대해서 알아보았습니다.
즉시로딩과 지연로딩의 이해를 위해서 회원(Member)과 팀(Team)의 다대일 단방향 관계를 예시로 들어보았습니다.
엔티티의 상태 변화를 전파시키는 옵션인 Cascade 에 대하여 알아보았습니다.
CascadeType.REMOVE 와 orphanRemoval = true 옵션이 각각 고아객체를 어떻게 처리하는지 알아보았습니다.
JPA 의 복합 값 타입(embedded type)에 대해서 알아보았습니다.