org.hibernate.PersistentObjectException: detached entity passed to persist 에러

Kyle_Kim·2022년 7월 20일
0

Case 1

detached entity passed to perist 오류 발생 JPA 프로젝트에 엔티티를 영속화 및 커밋 시도하니 다음과 같은 에러가 발생하였음

구글링 결과 CascadeType.ALL 옵션과 관련있는 듯 해보였으나 내 프로젝트에는 관련 옵션이 존재하지 않았음

만일 본인과 같이 CascadeType.ALL 관련 옵션이 없으나 동일한 오류가
발생하였다면 엔티티 클래스에 @Id를 부여한 필드에 @GeneratedValue를
작성하여 AUTO, SEQUENCE, IDENTITY 전략 등 데이터베이스에게
key 값을 자동 생성하도록 하는 전략을 선택하였으면서 엔티티 객체 생성 시
Id에 해당하는 필드에 직접 값을 입력하지 않았는지 확인


PK자동생성 조건을 걸어 줬다면 Test할 객체를 만들때PK값을 지정해 주면 안된다

Case 2

deploy기능을 개발중 아래와 같이 기존의 id값으로 조회 후에 deploy될 새로운(복사된) 값의 id를 구해야 하는 경우를 구현 도중에 detach와 관련된 persist에러가 났다

위와 같이 db에 의해서 autogenerated된 id값을 null처리 해줘야지 persis할 경우에 detached관련된 에러가 발생하지 않는다.

profile
꾸준함.

0개의 댓글