본문 바로가기

dev/JPA

Spring Boot JPA ID IDENTITY

스프링 부트 JPA에서 테이블 기본키가 AUTO INCREMENT인 경우 매핑하는 방법입니다.
 

직급 테이블

 
PostgreSQL에서 예제로 만든 직급 테이블입니다.
 
PostgreSQL에서 AUTO INCREMENT을 지원하는 타입은 serial입니다.
 

직급 엔티티 클래스

 
serial 타입의 기본키를 매핑하려면

 

즉 기본키가 데이터베이스로부터 생성되는 경우라면 @GeneratedValue 어노테이션을 사용해야 합니다.
 
@GeneratedValue 어노테이션의 strategy 속성값을 GenerationType.IDENTITY으로 해야 합니다.
 
GenerationType.IDENTITY 전략은 데이터를 추가한 다음에 기본키 값을 알 수 있습니다.
 
직급 엔티티를 추가했을 때 기본키 생성이 제대로 되는지 확인하기 위해서 코드를 작성합니다.
 

직급 DTO

 

직급 엔티티 컨트롤러

 

직급 엔티티 서비스

 

직급 엔티티 레포지토리

 
컨트롤러에서 dto로 데이터를 받아서 서비스와 레포지토리를 통해서 직급 테이블에 데이터를 추가합니다.
 

before 직급 테이블

 
데이터가 추가되기 전입니다.
 

Postman 테스트 및 결과

 
Postman으로 "차장"이라는 데이터를 REST API로 추가했고 결과를 확인할 수 있습니다.
 

after 직급 테이블

 
테이블을 조회했을 때 데이터가 정상적으로 추가된 것을 확인할 수 있습니다.

'dev > JPA' 카테고리의 다른 글

JPA Infinite Recursion 예외 처리  (0) 2023.08.29
Spring Boot JPA QueryDSL  (0) 2023.08.29
Spring Boot JPA Join  (0) 2023.08.28
Spring Boot JPA 복합키  (0) 2023.08.24
Spring Boot Data JPA  (0) 2023.02.03