Java/SpringBoot

[Java Spring] @GeneratedValue(strategy = )

Luke_look 2023. 7. 20. 11:07

1. @GeneratedValue(strategy = )

@GeneratedValue는 주로 엔티티의 기본 키를 자동으로 생성하기 위해 사용됩니다. strategy속성을 통해 식별자를 생성하는 전략을 지정합니다. 이는 MySQL, PostgreSQL, SQL Server 등에서 사용됩니다.

  • GenerationType.AUTO : (기본값) 특정 DB에 맞게 자동 선택. 예를 들어, Oracle의 경우 SEQUENCE를, MySQL의 경우 IDENTITY를 선택.
  • GenerationType.SEQUENCE : DB 시퀀스를 사용하여 기본 키를 할당. @SequenceGenerator 어노테이션과 함께 사용하여 시퀀스 생성기를 정의. 주로 Oracle, PostgreSQL, DB2 등에서 사용.
  • GenerationType.TABLE : 키 생성 테이블을 사용. 여러 트랜잭션에서 공유되는 별도 테이블을 사용해 기본 키를 생성. 모든 DB에서 사용 가능하지만, 성능 이슈가 있을 수 있음.

지금 위의 예제에 사용한

  • GenerationType.IDENTITY는 데이터베이스의 자동 증가(auto-increment) 기능을 사용하여 기본 키를 생성하는 방식입니다.

'Java > SpringBoot' 카테고리의 다른 글

[Java SpringBoot] CRUD  (0) 2023.07.20