[자바 ORM 표준 JPA 프로그래밍 - 기본편] 7. 고급 매핑
·
인프런 Spring 강의 정리/자바 ORM 표준 JPA 프로그래밍 - 기본편
📌 상속관계 매핑 ⚡ 상속관계 매핑이란 관계형 데이터베이스는 상속관계 X 슈퍼타입 서브타입 관계라는 모델링 기법이 객체 상속과 유사 상속관계 매핑 : 객체의 상속과 구조와 DB의 슈퍼타입 서브타입 관계를 매핑 슈퍼타입 서브타입 논리 모델을 실제 물리 모델로 구현하는 방법 각각 테이블로 변환 -> 조인 전략 통합 테이블로 변환 -> 단일 테이블 전략 서브타입 테이블로 변환 -> 구현 클래스마다 테이블 전략 ⚡ 주요 어노테이션 @Inheritance(strategy = InheritanceType.XXX) JOINED : 조인 전략 SINGLE_TABLE : 단일 테이블 전략 TABLE_PER_CLASS : 구현 클래스마다 테이블 전략 @DiscriminatorColumn(name="DTYPE") @Disc..
[자바 ORM 표준 JPA 프로그래밍 - 기본편]6. 다양한 연관관계 매핑
·
인프런 Spring 강의 정리/자바 ORM 표준 JPA 프로그래밍 - 기본편
📌 연관관계 매핑시 고려사항 3가지 다중성 단방향, 양방향 연관관계의 주인 ⚡ 다중성 다대일 : @ManyToOne 일대다 : @OneToMany 일대일 : @OneToOne 다대다 : @ManyToMany ⚡ 단방향, 양방향 테이블 외래 키 하나로 양쪽 조인 가능 사실 방향이라는 개념이 없음 객체 참조용 필드가 있는 쪽으로만 참조 가능 한쪽만 참조하면 단방향 양쪽이 서로 참조하면 양방향 ⚡ 연관관계의 주인 테이블은 외래 키 하나로 두 테이블이 연관관계를 맺음 객체 양방향 관계는 A->B, B->A 처럼 참조가 2군데 객체 양방향 관계는 참조가 2군데 있음 둘 중 테이블의 외래 키를 관리할 곳을 지정해야 함 연관관계의 주인 : 외래 키를 관리하는 참조 주인의 반대편 : 외래 키에 영향을 주지 않음, 단순..
[자바 ORM 표준 JPA 프로그래밍 - 기본편]5. 연관관계 매핑 기초
·
인프런 Spring 강의 정리/자바 ORM 표준 JPA 프로그래밍 - 기본편
📌 목표 객체와 테이블 연관관계의 차이를 이해 객체의 참조와 테이블의 외래 키를 매핑 용어 이해 방향(Direction) : 단방향, 양방향 다중성(Multiplicity) : 다대일(N:1), 일대다(1:N), 일대일(1:1), 다대다(N:N) 이해 연관관계의 주인(Owner) : 객체 양방향 연관관계는 관리 주인이 필요 📌 예시 시나리오 회원과 팀이 하나 있음 회원은 하나의 팀에만 소속될 수 있음 회원과 팀은 다대일 관계 ⚡ 객체를 테이블에 맞추어 모델링 연관관계가 없는 객체 참조 대신에 외래 키를 그대로 사용 @Entity public class Member { @Id @GeneratedValue private Long id; @Column(name = "USERNAME") private Strin..
[자바 ORM 표준 JPA 프로그래밍 - 기본편] 4. 엔티티 매핑
·
인프런 Spring 강의 정리/자바 ORM 표준 JPA 프로그래밍 - 기본편
📌 엔티티 매핑 소개 객체와 테이블 매핑 : @Entity, @Table 필드와 컬럼 매핑 : @Column 기본 키 매핑 : @Id 연관관계 매핑 : @ManyToOne, @JoinColumn 📌 객체와 테이블 매핑 ⚡ @Entity @Entity가 붙은 클래스는 JPA가 관리하고 엔티티라고 함 JPA를 사용해서 테이블과 매핑할 클래스는 @Entity 필수 ❗ 주의 기본 생성자 필수(파라미터가 없는 public 또는 protected 생성자) final 클래스, enum, interface, inner 클래스 사용 X 저장할 필드에 final 사용 X Entity 속성 정리 속성 : name JPA에서 사용할 엔티티 이름을 지정 기본값 : 클래스 이름을 그대로 사용 (ex. Member) 같은 클래스 ..