데이터베이스 테이블의 기본키Primary key를 선정하는 두 가지 방법
1. 자연키Natural key - 전화번호, 이메일처럼 비즈니스적으로 의미 있는 키.
2. 대체키Surrogate key - 비즈니스와 상관없이 임의로 만들어진 키.
JPA(Java Persistence API)는 데이터베이스 테이블 대체키SurrogateKey를 기본 키로 자동 생성하는 기능을 지원
사용 방법: Entity클래스에 @Id, @GeneratedValue 어노테이션 추가
@GeneratedValue에 대체키 자동생성 전략 지정(4가지, 지정하지 않으면 AUTO가 디폴트)
- AUTO(default) : JPA구현체가 자동으로 생성 전략을 결정.
- IDENTITY : 기본키 생성을 데이터베이스에 위임. (MySQL: AUTO_INCREMENT를 사용하여 기본키 생성)
- SEQUENCE : 데이터베이스의 특별한 오브젝트 시퀀스를 사용하여 기본키 생성.
- TABLE : 데이터베이스에 키 생성 전용 테이블을 하나 만들고 이를 사용하여 기본키 생성.
'Backend > 자바 Java' 카테고리의 다른 글
[SpringSecurity] 스프링시큐리티 세션정책 (0) | 2020.08.20 |
---|---|
@EnabledGlobalMethodSecurity (0) | 2020.08.20 |
@OneToMany 단방향 (0) | 2020.08.20 |
JSP(Java Server Pages) (0) | 2020.08.20 |
@Entity / @Id / @Column(name = "team_id") (0) | 2020.08.20 |