본문 바로가기
IT/spring

스프링 PK 생성 전략

by 뉴코딩맨 2023. 7. 4.
스프링에서 PK(Primary Key) 생성 전략은 엔티티의 기본 키를 자동으로 생성하는 방법을 의미합니다. 스프링에서 제공하는 다양한 PK 생성 전략에 대해 알아보고, 예제를 통해 설명하겠습니다.

 

 

기본 키와 PK 생성 전략

기본 키는 엔티티를 고유하게 식별하는 역할을 합니다. 스프링은 JPA(Java Persistence API)를 기반으로 PK 생성 전략을 지원합니다. PK 생성 전략은 다음과 같은 종류가 있습니다.
  • IDENTITY: 데이터베이스가 자동으로 PK를 생성하는 방식입니다. 주로 MySQL의 AUTO_INCREMENT와 같은 기능을 활용합니다.
  • SEQUENCE: 데이터베이스 시퀀스를 사용하여 PK를 생성하는 방식입니다. 주로 Oracle 데이터베이스에서 많이 사용됩니다.
  • TABLE: 데이터베이스의 특정 테이블을 사용하여 PK를 생성하는 방식입니다. 데이터베이스에 테이블을 생성하고, 그 테이블을 이용하여 일련번호를 관리합니다.
  • AUTO: 데이터베이스 종류에 따라 IDENTITY, SEQUENCE, TABLE 중에서 자동으로 선택되는 방식입니다. 데이터베이스 종류에 따라 자동으로 적절한 PK 생성 전략이 선택됩니다.
 

스프링 PK 생성 전략 예제

다음은 스프링에서 PK 생성 전략을 사용한 예제 코드입니다.
 
@Entity
@Table(name = "users")
public class User {
    
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;
    
    // 다른 필드와 메소드들...
}
 
위의 예제에서 User 클래스는 users 테이블과 매핑되는 엔티티입니다. @Id 어노테이션은 해당 필드가 기본 키임을 나타내고, @GeneratedValue 어노테이션을 통해 PK 생성 전략을 설정합니다. 예제에서는 IDENTITY 전략을 사용하고 있습니다. 이렇게 설정된 PK 생성 전략은 데이터베이스가 자동으로 PK를 생성하도록 합니다.
 
 

결론

스프링에서는 다양한 PK 생성 전략을 제공하여 엔티티의 기본 키를 효과적으로 관리할 수 있습니다. PK 생성 전략은 데이터베이스 종류와 요구사항에 따라 선택하여 사용할 수 있습니다.
 

댓글