-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Labels
JPAJPAJPA
Description
JPA 엔티티 주요 어노테이션
엔티티 매핑 어노테이션
@Table
- 엔티티 클래스와 데이터베이스 테이블 매핑
- 주요 속성
- name : 테이블 이름
- schema : 테이블이 속한 스키마 이름
- catalog :테이블이 속한 카탈로그 이름
- uniqueConstraints : 유니크 제약 조건 설정 (DDL 생성 시 사용)
- 문서화 + 제약 조건 설계 의도 명시를 위해 적기도 함
- indexes : 인덱스 설정
@GeneratedValue
- 키본 키 값을 자동 생성
- 주요 속성
- stratege : 키 생성 전략
- GenerationType.AUTO : 기본 키 생성 전략을 JPA 구현체가 자동으로 선택
- GenerationType.IDENTITY : 데이터베이스의 자동 증가 기능 사용
- batch insert 사용에 제한 있음 (엔티티를 저장할 때마다 즉시 SQL을 실행해야 기본 키 값을 얻을 수 있기 떄문)
- GenerationType.SEQUENCE: 데이터베이스의 시퀀스 객체를 사용해 기본 키 생성
- generator : 사용자 정의 키 생성기 이름
@Column
- 엔티티 클래스 필드와 데이터베이스 컬럼 매핑
- 주요 속성
- name : 컬럼 이름 지정
- unique : 유니크 제약 조건 설정 (default : false)
- length : 문자열 타입의 컬럼 길이 지정
연관관계 매핑 어노테이션
@OneToOne
@ManyToOne
- 두 엔티티간의 다대일 관계 매핑
- 주요 속성
- fetch: 데이터 로딩 전략 설정 (default : EAGER)
- optional : 관계 대상이 필수인지 여부
@OneToMany
@ManyToMany
기타 어노테이션
Transient
MappedSuperclass
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
JPAJPAJPA