org.hibernate.StaleObjectStateException: Row was updated or deleted by another transaction (or unsaved-value mapping was incorrect)
간단하게 JPA를 사용하여 API를 만들었는데 해당 에러가 발생하였다.
원인은
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
로 만들고 swagger에서 또 id에 값을 주고 동작시켜서 였다.

이렇게 하면 이렇게 하면 JPA가 이 엔티티가 이미 존재하는 것으로 판단하고, merge()를 수행한다.
즉:
findById(1L) 조회 → 없다면 INSERT
save() 호출 후 JPA가 엔티티 상태를 다시 감지 → update 실행 가능
id에 값을 null을 주면 insert가 잘 된다. 나는 User.java에 @JsonIgnore 어노테이션을 붙여서 id는 노출 안되게 수정하였다.



