JPA

JPA

[자바 ORM 표준 JPA 프로그래밍] 7장. 고급 매핑

상속관계 매핑 객체에서는 상속이라는 개념이 존재하지만, 관계형 데이터베이스는 상속 관계가 존재하지 않는다. 슈퍼타입, 서브타입 관계라는 모델링 기법이 상속과 유사하다. 상속관계 매핑 : 객체의 상속 구조와 DB의 슈퍼타입, 서브타입 관계를 매핑 각각의 테이블로 변환 : 조인전략 통합 테이블로 변환 : 단일 테이블 전략 서브타입 테이블로 변환 : 구현 클래스마다 테이블 전략 조인 전략 엔티티 각각을 모두 테이블로 만들고 자식 테이블이 부모 테이블의 기본 키를 받아서 기본 키 + 외래 키로 사용하는 전략 조회할 때 조인을 자주 사용한다. 주의할 점 : 객체는 타입으로 구분할 수 있지만 테이블은 타입의 개념이 없다. 따라서 타입을 구분하는 컬럼을 추가해야 한다. 여기서는 DTYPE 컬럼을 구분 컬럼으로 사용한..

JPA

[자바 ORM 표준 JPA 프로그래밍] 6. 다양한 연관관계 매핑

다대일[N:1] JPA에서 가장 많이 사용하고, 꼭 알아야 하는 다중성이다. DB설계상 일대다에서 '다' 쪽에 외래키가 존재해야한다. 다대일 단방향 매핑 JPA의 @ManyToOne 어노테이션을 사용해서 다대일 관계를 매핑 @JoinColumn은 외래키를 매핑할 때 사용한다. name은 매핑할 외래 키의 이름. public class Member{ ... @ManyToOne @JoinCoulmn(name="TEAM_ID") private Team team; } 다대일 양방향 매핑 반대쪽에서 일대다 단방향 매핑을 해주면 된다.(객체기준으로, 컬렉션을 추가하자) 반대에서 단방향 매핑을 한다고 해서 DB테이블에 영향을 전혀 주지 않는다. 다대일의 관계에서 다 쪽에서 이미 연관관계 주인이 되어서 외래키를 관리하..

ankisile
'JPA' 태그의 글 목록