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 |
---|