연관 관계 매핑 3

Chapter 06. 다양한 연관관계 매핑

6.1 다대일 (n : 1) 다대일 단방향 다대일 단방향은 가장 많이 사용하는 연관관계이다. 다대일의 반대는 일대다 Ex) 다대일 단방향 Member("다", 주인 쪽)에만 아래와 같이 표시된다. Team("일") 쪽에는 아무 표시없다. @ManyToOne @JoinColumn(name = "TEAM_ID") private Team team; // 연관 관계의 주인 다대일 양방향 반대 쪽에도 추가한다. 양 쪽을 서로 참조하도록 개발한다. 외래 키가 있는 쪽(MEMBER)이 연관 관계의 주인이다. 테이블에 전혀 영향을 주지 않는다. (주인이 아니라서) Ex) 다대일 양방향 Team 클래스에도 @OneToMany를 추가한다. "mappedBy"가 있으면 가짜 주인 클래스 => (mappedBy ="team"..

Chapter 05. 연관 관계 매핑 기초

5.1 단방향 연관 관계 연관 관계가 필요한 이유 연관 관계가 없으면 계속해서 객체를 끄집어내서 조회해야한다. => 객체 지향의 성격과 동떨어진다. Ex) jpa-basic 프로젝트의 멤버 클래스 package hellojpa; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.Id; @Entity public class Member { @Id @GeneratedValue private Long id; @Column(name= "USERNAME") // DB에 넣고 싶은 값 private String userName; /..

Chapter 04. 엔티티 매핑 (entity mapping)

4.1 객체와 테이블 매핑 @Entity @Entity가 붙은 클래스는JPA가 관리한다. "엔티티" JPA를 사용해서 테이블과 매핑할 클래스는 @Entity가 필수! 주의 사항 파라미터 없는 기본 생성자가 필요하다. (public or protected) fianl, enum, interface, inner 클래스에는 @Entity를 사용할 수 없다. DB에 저장할 필드에는 final을 사용하지 않는다. 클래스 이름을 그대로 테이블로 사용한다. (기본값) 4.2 데이터베이스 스키마 자동 생성 데이터베이스 스키마 자동 생성 DDL을 애플리케이션 실행 시점에 자동으로 생성한다. CREATE 테이블 중심 => 객체 중심 데이터베이스 dialect를 활용해서 데이터베이스에 맞는 적절한 DDL을 생성한다. ex)..