본문 바로가기

Spring

@Id 어노테이션

반응형

@Id 는 프라이머리 키를 나타내고
@GeneratedValue는 어떤 전략 옵션을 사용할 것인지 지정하는 것.

프라이머리키를 Identity로 삼겠다.

@GeneratedValue(strategy = GenerationType.IDENTITY)

 

기본키 자동생성 방법 

  • IDENTITY : 기본 키 생성을 데이터베이스에 위임하는 방법 (데이터베이스에 의존적)
    - 주로 MySQL, PostgresSQL, SQL Server, DB2에서 사용합니다.

 

  • SEQUENCE : 데이터베이스 시퀀스를 사용해서 기본 키를 할당하는 방법 (데이터베이스에 의존적)
    - 주로 시퀀스를 지원하는 Oracle, PostgresSQL, DB2, H2에서 사용합니다. 
    - @SequenceGenerator를 사용하여 시퀀스 생성기를 등록하고, 실제 데이터베이스의 생성될 시퀀스이름을 지정해줘야 합니다.

 

  • TABLE : 키 생성 테이블을 사용하는 방법
    - 키 생성 전용 테이블을 하나 만들고 여기에 이름과 값으로 사용할 컬럼을 만드는 방법입니다.
    - 테이블을 사용하므로, 데이터베이스 벤더에 상관없이 모든 데이터베이스에 적용이 가능합니다.

 

  • AUTO : 데이터베이스 벤더에 의존하지 않고, 데이터베이스는 기본키를 할당하는 벙법
    - 데이터베이스에 따라서 IDENTITY, SEQUENCE, TABLE 방법 중 하나를 자동으로 선택해주는 방법입니다.
    - 예를들어, Oracle일 경우 SEQUENCE를 자동으로 선택해서 사용합니다. 따라서, 데이터베이스를 변경해도 코드를 수정할 필요가 없습니다.

블로그 출처 https://ithub.tistory.com/24

반응형

'Spring' 카테고리의 다른 글

JPA url 오류 해결.  (0) 2019.11.10
Repository  (0) 2019.11.10
database 생성 및 매칭 기능  (0) 2019.11.10
JPA & ORM  (0) 2019.11.10
Lombok  (0) 2019.11.10