스프링 프레임워크에서 @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
'IT > spring' 카테고리의 다른 글
스프링 쿼리 메소드 (Spring Query Methods) (0) | 2023.07.03 |
---|---|
스프링 JPQL (Java Persistence Query Language) (0) | 2023.07.03 |
스프링 @TableGenerator 어노테이션 (0) | 2023.07.03 |
스프링 @Temporal 어노테이션 (0) | 2023.07.03 |
스프링 @Transient 어노테이션 (0) | 2023.07.03 |
댓글