본문 바로가기
IT/spring

스프링 @SequenceGenerator 어노테이션

by 뉴코딩맨 2023. 7. 3.
스프링 프레임워크에서 @SequenceGenerator 어노테이션은 JPA(Java Persistence API)에서 엔티티의 기본 키 값을 시퀀스(sequence)를 사용하여 자동으로 생성하는데 사용됩니다. @SequenceGenerator 어노테이션에 대해 알아보고, 예제를 통해 설명하겠습니다.
 
 

@SequenceGenerator 어노테이션 소개

@TableGenerator 어노테이션과 마찬가지로 @SequenceGenerator 어노테이션도 스프링 프레임워크의 JPA 구현인 Hibernate에서 제공하는 어노테이션입니다. 이 어노테이션을 사용하면 데이터베이스 시퀀스(sequence)를 기반으로 엔티티의 기본 키 값을 자동으로 생성할 수 있습니다.

 

@SequenceGenerator 어노테이션 예제

다음은 @SequenceGenerator 어노테이션을 사용한 예제 코드입니다.
 
@Entity
@SequenceGenerator(
    name = "emp_id_generator",
    sequenceName = "emp_id_sequence",
    allocationSize = 1
)
public class Employee {
    
    @Id
    @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "emp_id_generator")
    private Long id;
    
    // 엔티티의 다른 필드들...
    
    // 생성자, 게터/세터 등...
}
 
위의 예제에서는 Employee 엔티티의 기본 키 값을 생성하기 위해 @SequenceGenerator 어노테이션을 사용하였습니다. @SequenceGenerator 어노테이션은 다양한 속성을 가지고 있으며, 중요한 몇 가지 속성을 살펴보겠습니다.
  • name: 시퀀스 생성기의 이름을 지정합니다.
  • sequenceName: 시퀀스의 이름을 지정합니다.
  • allocationSize: 시퀀스 값의 할당 크기를 지정합니다.
위의 예제에서는 emp_id_generator라는 이름의 시퀀스 생성기를 정의하고, Employee 엔티티의 id 필드에 이 생성기를 연결하여 기본 키 값을 자동으로 생성하도록 설정하였습니다. 시퀀스 이름은 emp_id_sequence로 지정되었습니다.

 

 

결론

@SequenceGenerator 어노테이션은 스프링 프레임워크에서 JPA를 사용할 때 엔티티의 기본 키 값을 시퀀스를 통해 자동으로 생성하는 데 사용됩니다. 이를 통해 데이터베이스 시퀀스를 활용하여 유일하고 일련번호로 구성된 키 값을 생성할 수 있습니다. 이를 통해 데이터의 일관성을 유지하고, 효율적인 데이터베이스 조작을 할 수 있습니다.

 

 

스프링 @TableGenerator 어노테이션

스프링 프레임워크에서 @TableGenerator 어노테이션은 JPA(Java Persistence API)에서 엔티티의 기본 키 값을 자동으로 생성하는데 사용됩니다. @TableGenerator 어노테이션에 대해 알아보고, 예제를 통해 설명

newcodingman.tistory.com

 

댓글