[JPA] @GeneratedValue 어노테이션

개발자 P군·2024년 6월 8일
0
post-thumbnail
post-custom-banner
  • Entity 클래스에는 @Entity 어노테이션과 키값이 필수로 필요한데 키 값으로 지정하기 위해서는 @Id 어노테이션으로 특정 필드에 사용하면 된다. 그리고 그 Id 값의 생성 전략을 지정하는게 @GeneratedValue 어노테이션이다.

GeneratedValue 키 생성 전략에는 총 4가지가 존재하는데 다음과 같다.

  • GenerationType.IDENTITY ( MYSQL, MariaDB )
    • 데이터베이스에 위임 전략
  • GenerationType.SEQUENCE ( ORACLE )
    • 데이터베이스 시퀀스 오브젝트 사용 전략 ( @SequenceGenerator 필요 )
  • GenerationType.TABLE
    • 키 생성용 테이블 사용, 모든 DB에서 사용 전략 ( @TableGenerator 필요 )
  • GenerationType.AUTO
    • 방언에 따라 자동 지정, 기본 값 전략

실제 사용 코드

@Entity
@Getter
@Builder
@AllArgsConstructor
@NoArgsConstructor(access = AccessLevel.PROTECTED)
public class Member extends Base {

    @Id @GeneratedValue(strategy = GenerationType.IDENTITY)
    @Column(name = "member_id")
    private Long id;

    private String name;

}
profile
꾸준한 발전을 지향하는 개발자
post-custom-banner

0개의 댓글