본문 바로가기
IT/Java

Entity에 AutoIncrement 컬럼 설정

by 성준하이 2024. 4. 19.
반응형

JPA를 사용하면서 서로 다른 Entity를 다루다보면 save 시 id 값이 각각 나누어져야하는데 하나로 합쳐서 올라갈 때가 있다.

 

예를들어 아래와같이 간단히 코드를 짜면

..이상 생략
memberRepository.save(new Mem());
userRepository.save(new User());
..이하 생략

 

결과는 member는 초기값 1로 값이 들어가는데

user는 1로 초기값으로 들어가야하지만 2가 들어간다.

 

이럴 경우엔 IDENTITY 전략 을 사용해야한다.

 

방법은 2가지 이다.

  • 전체 프로젝트에 적용

yml 파일에 아래와 같이 값을 추가한다.

hibernate:
     use-new-id-generator-mappings: false

 

  • 개별 Entity 에 적용

각 엔티티에 시퀀스/auto increment 컬럼에 이와 같이 annotation을 붙인다.

@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Integer id;
반응형

댓글