상속 관련
1. @Inheritance
1) 개념
상속 해 줄 부모 클래스에게 적용하는 어노테이션
2) 속성
strategy
- InheritanceType.JOINED
- 조인 전략: 자식 각각을 모두 테이블로 만들고 조회할 때 조인 사용
- InheritanceType.SINGLE_TABLE
- 단일 테이블 전략: 테이블을 하나만 사용해서 통합
- InheritanceType.TABLE_PER_CLASS
- 구현 클래스마다 테이블 전략: 서브 타입마다 하나의 테이블을 만든다
2. @DiscriminatorColumn
1) 개념
부모 클래스에 구분 컬럼 지정. 이 컬럼으로 자식 구분.
2) 속성
name
구분 컬럼의 이름
3. @DiscriminatorValue
1) 개념
엔티티를 저장할 때 구분 컬럼에 입력할 값을 지정
4. @MappedSuperClass
1) 개념
테이블과 매핑하지 않고 부모 클래스를 상속받는 자식 클래스에게 매핑 정보만 제공
테이블과는 관계가 없고 단순히 엔티티가 공통으로 사용하는 매핑 정보를 모아주는 역할을 한다
5. @AttributeOverride
1) 개념
부모에게 물려받은 매핑 정보 재정의
6. @AttributeOverrides
1) 개념
부모에게 물려받은 매핑 정보 재정의(2개 이상)
7. @AssociationOverride
1) 개념
부모에게 물려받은 연관관계 재정의
복합 키 관련
1. @IdClass
1) 개념
복합 키를 가진 엔티티에서 복합 키를 등록할 때 사용
2) 특징
어노테이션을 쓰고 괄호 안에 복합 키를 정의해 놓은 클래스를 등록
2. @EmbeddedId
1) 개념
복합 키를 가진 엔티티에서 복합 키를 등록할 때 사용
3. @Embeddable
1) 개념
복합 키 식별자 클래스에 사용
4. @MapsId
1) 개념
외래 키와 매핑한 연관관계를 기본 키에도 매핑하겠다는 것을 나타내는 어노테이션
2) 속성
@EmbeddedId를 사용한 식별자 클래스의 기본 키 필드 지정
'Spring > jpa' 카테고리의 다른 글
[JPA] 조인 테이블 (0) | 2023.02.21 |
---|---|
[JPA] 복합키와 식별 관계 매핑 (0) | 2023.02.16 |
[JPA] 상속 관계 매핑, MappedSuperClass (0) | 2023.02.16 |
[JPA] 다대일, 일대다, 일대일, 대다대 (0) | 2023.02.14 |
[JPA] 연관관계 어노테이션 (0) | 2023.02.13 |