반응형 Spring2 [JPA] 엔티티 식별자의 DB 매핑 전략 : IDENTITY vs SEQUENCE 1. 들어가며 JPA 명세로 개발하는 SpringBoot에서는 Entity ID 생성 시 데이터베이스의 기본 키(primary key)를 자동 생성하는 방식을 사용합니다. 만약 주민번호나 SystemId처럼 비즈니스 로직 상 유일할 것처럼 보이는 자연키를 PK로 설정한다면, 추후 비즈니스 변경이나 유지보수 시 DB를 Migration하는 수준의 눈덩어리처럼 굴러올 수 있기 때문입니다. JPA는 DB 기본 키 할당 전략으로 직접 할당 방식과 자동 생성 방식 두 가지를 제공합니다. 직접 할당 방식은 Application에서 기본 키를 직접 할당하는 방식이며, 자동 생성 방식은 대리 키를 사용하는 방식으로 AUTO, IDENTITY, SEQUENCE, TABLE 네 가지가 있습니다.해당 방식들은 사용하는 DB.. 2023. 4. 8. [JPA] 생성자와 기본 생성자, AllArgsConstructor와 NoArgsConstructor 생성자(Constructor)는 객체를 생성할 때 사용되는 특별한 메서드입니다. 클래스에 생성자가 정의되어 있으면, 객체를 생성할 때 해당 생성자를 호출하여 필드를 초기화할 수 있습니다. 기본 생성자(Default Constructor)는 클래스에 명시적으로 생성자를 정의하지 않았을 때, 컴파일러가 자동으로 추가하는 생성자입니다. 기본 생성자는 매개변수를 가지지 않는 public 생성자이며, 객체를 생성할 때 호출됩니다. AllArgsConstructor은 Lombok에서 제공하는 어노테이션 중 하나로, 클래스에 선언된 모든 필드를 매개변수로 갖는 생성자를 자동으로 생성해주는 역할을 합니다. NoArgsConstructor는 Lombok에서 제공하는 어노테이션 중 하나로, 매개변수를 가지지 않는 생성자를.. 2023. 3. 14. 이전 1 다음 반응형