기본 키 매핑 어노테이션
@Id @GeneratedValue(strategy = GenerationType.AUTO)
private Long id;
기본 키 매핑 방법
- 직접 할당: @Id만 사용
- 자동 생성(@GeneratedValue)
- IDENTITY: 데이터베이스에 위임, MYSQL
- SEQUENCE: 데이터베이스 시퀀스 오브젝트 사용, ORACLE
- TABLE: 키 생성용 테이블 사용, 모든 DB에서 사용
직접 할당
- @Id만 사용
- 직접 Id를 만들어서 할당할 때는 @Id만 쓰면 됩니다.
- 보통 관계형 DB를 쓰면 이렇게 쓰는 것 보단 오라클이라면 sequence를 쓰고 , MySQL은 Auto Increment를 사용합니다. (DB가 자동으로 숫자값을 생성해주는 것을 사용)
자동 할당
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id;
직접 할당하는게 아니라 값을 생성해서 쓰고 싶다면 위의 코드처럼 작성하면 됩니다.
기본값은 AUTO입니다. AUTO는 DB 방언에 맞춰서 자동으로 생성이 됩니다.