GeneratedType Post 에러

SoDEV·2026년 1월 7일

스프링 부트

목록 보기
18/18

에러

org.hibernate.StaleObjectStateException: Row was updated or deleted by another transaction (or unsaved-value mapping was incorrect): [com.example.FifthSpring.model.PlayListArticle#2]

기존 코드

public class PlayListArticle {

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;

수정된 코드

public class PlayListArticle {

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    @JsonIgnore
    private Long id;
  1. id를 jsonignore로 처리함
  2. request에서 id는 null로 보내야함

어노테이션

@GeneratedValue

  • 기본 키를 생성할 때의 전략을 설정하기 위한 어노테이션
  • 4가지 strategy 가 있음 ex) GenerationType.[strategy_name]

strategy

  1. IDENTITY : DB에서 자동으로 생성
    1. INSERT 시점에서 생성됨
      1. 엔티티가 저장된 후에 ID를 알 수 있음
  2. SEQUENCE : DB의 시퀀스를 이용해 숫자 값 생성
  3. Auto : 기본 값으로 사용
    • MySQL : Identity 전략
  4. TABLE : 테이블을 이용해 키를 저장

1. swagger ui post 매핑 확인

  • request
  • response
profile
비가 와도 눈이 와도 파도를 향해서! 🌊🐢

0개의 댓글