본문 바로가기

Backend/자바 Java

@Id, @GeneratedValue : 데이터베이스 Primary key 자동생성

데이터베이스 테이블의 기본키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 : 데이터베이스에 키 생성 전용 테이블을 하나 만들고 이를 사용하여 기본키 생성.

 

https://www.popit.kr/%ED%95%98%EC%9D%B4%EB%B2%84%EB%84%A4%EC%9D%B4%ED%8A%B8%EB%8A%94-%EC%96%B4%EB%96%BB%EA%B2%8C-%EC%9E%90%EB%8F%99-%ED%82%A4-%EC%83%9D%EC%84%B1-%EC%A0%84%EB%9E%B5%EC%9D%84-%EA%B2%B0%EC%A0%95%ED%95%98/

'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