1. @ManyToOne
1) 개념
다대일 관계에서 사용
2) 속성
optional
- false로 설정하면 연관된 엔티티가 항상 있어야 한다
- 기본값: true
fetch
- 글로벌 페치 전략을 설정한다
- 기본값: ManyToOne=FetchType.EAGER, OneToMany=FetchType.LAZY
cascade
- 영속성 전이 기능을 사용한다
targetEntity
- 연관된 엔티티의 타입 정보를 설정한다
2. @JoinColumn
1) 개념
외래 키를 매핑할 때 사용
2) 속성
name
- 매핑할 외래 키 이름
- 기본값: 필드명_참조하는 테이블의 기본 키 컬럼명
referencedColumnName
- 외래 키가 참조하는 대상 테이블의 컬럼명
- 기본값: 참조하는 테이블의 기본 키 컬럼명
foreignKey(DDL)
- 외래 키 제약조건을 직접 지정할 수 있다.
- 테이블을 생성할 때만 사용한다
3) 특징
생략 가능
3. @OneToMany
1) 개념
일대다 관계를 매핑할 때 사용
2) 속성
mappedBy
- 연관관계의 주인의 필드 이름
4. @OneToOne
1) 개념
일대일 관계를 매핑할 때 사용
2) 속성
mappedBy
- 연관관계의 주인의 필드 이름
5. @ManyToMany
1) 개념
다대다 관계를 매핑할 때 사용
6. @JoinTable
1) 개념
다대다 관계를 매핑할 때 필요한 연결테이블 관련 설정을 하기 위해 사용
2) 속성
name
- 연결 테이블을 지정
joinColumns
- 현재 방향인 엔티티와 매핑할 조인 컬럼 정보를 지정
inverseJoinColumns
- 반대 방향인 엔티티와 매핑할 조인 컬럼 정보를 지정
7. @JoinColumns
1) 개념
매핑 시 여러 컬럼을 매핑해야 할 경우 사용
2) 특징
JoinColumns를 쓰고 괄호 안에 @JoinColumn을 컬럼 개수만큼 작성
'Spring > jpa' 카테고리의 다른 글
[JPA] 상속 관계 매핑, MappedSuperClass (0) | 2023.02.16 |
---|---|
[JPA] 다대일, 일대다, 일대일, 대다대 (0) | 2023.02.14 |
[JPA] 단방향 연관관계, 양방향 연관관계 (0) | 2023.02.13 |
[JPA] 기본 키 매핑 (0) | 2023.02.10 |
[JPA] 영속성 관리 (0) | 2023.02.09 |