JPA/JPA 기본

·JPA/JPA 기본
상속관계 매핑객체는 상속관계가 있지만 관계형 데이터베이스는 상속 관계가 없다.그나마 객체의 상속관계와 비슷한 데이터 모델이 있다.슈퍼타입 서브타입 관계라는 모델링 기법이 객체 상속과 유사하다.상속관계 매핑이란 객체의 상속 구조와 DB의 슈퍼타입 서브타입 관계를 매핑하는 거다.DB의 슈퍼타입, 서브타입 관계라는 논리 모델링 기법을 어떤 세 가지 방법으로 구현하든 JPA에서는 매핑을 하도록 지원해준다.슈퍼타입 서브타입 논리 모델을 실제 물리 모델로 구현하는 방법에는 3가지가 있다.각각 테이블로변환 -> 조인 전략통합 테이블로 변환 -> 단일 테이블 전략서브타입 테이블로 변환 -> 구현 클래스마다 테이블 전략조인 전략ITEM이라는 테이블을 만들고 ALBUM, MOVIE, BOOK 테이블을 만든 다음에 데이터를..
·JPA/JPA 기본
연관관계 매핑 시 고려사항 3가지다중성단방향, 양방향연관관계의 주인다중성다대일: @ManyToOne일대다: @OneToMany일대일: @OneToOne다대다: @ManyToManyJPA에서 나오는 어노테이션은 전부 DB랑 매핑하기 위해서 있다.그래서 데이터베이스 관점에서의 다중성을 기준으로 고민하면 된다.다중성에서 애매하다고 생각되면 반대쪽으로 생각해 보자.단방향, 양방향 테이블외래키 하나로 양쪽 조인 가능그래서 방향이라는 개념이 없음객체참조용 필드가 있는 쪽으로만 참조 가능한쪽만 참조하면 단방향양쪽이 서로 참조하면 양방향연관관계의 주인테이블은 외래키 하나로 두 테이블이 연관관계를 맺는다.반면 객체 양방향 관계는 A->B, B->A 처럼 참조가 2군데이다.객체 양방향 관계는 참조가 2군데 있어서 둘중 테..
·JPA/JPA 기본
연관관계가 필요한 이유‘객체지향 설계의 목표는 자율적인 객체들의 협력 공동체를 만드는 것이다.’ 조영호(객체지향의 사실과 오해) 예제 시나리오 회원과 팀이 있다.회원은 하나의 팀에만 소속될 수 있다.회원과 팀은 다대일 관계다. 객체를 테이블에 맞추어 모델링 (연관관계가 없는 객체) 객체를 테이블에 맞추어 모델링 (참조 대신에 외래 키를 그대로 사용)@Entitypublic class Member { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; @Column(name = "USERNAME", nullable = false) private String name; @Column(name = "..
·JPA/JPA 기본
객체와 테이블 매핑엔티티 매핑 소개 객체와 테이블 매핑: @Entity, @Table필드와 컬럼 매핑: @Column기본 키 매핑: @Id연관관계 매핑: @ManyToOne,@JoinColumn@Entity @Entity가 붙은 클래스는 JPA가 관리, 엔티티라 한다.JPA를 사용해서 테이블과 매핑할 클래스는 @Entity 필수주의기본 생성자 필수(파라미터가 없는 public 또는 protected 생성자)JPA는 리플렉션 같은 다양한 기술들을 써서 객체를 프록시 하는데 이런 것들을 위해 기본 생성자는 필수final 클래스, enum, interface, inner 클래스 사용 X저장할 필드에 final 사용 XDB에 저장하고 싶은 필드에는 final 사용 안됨@Entity 속성 정리 속성: nameJP..
an_jjin
'JPA/JPA 기본' 카테고리의 글 목록 (2 Page)