1월 21일 - JPA - Is this a new entity?

이성준·2025년 1월 23일

매일메일

목록 보기
1/9

Question

Spring Data JPA에서 새로운 Entity인지 판단하는 방법은 무엇일까요?

Answer

작성된 Entity 클래스에 @Id 어노테이션이 적용되어 있는 필드가 Entity Manager 에 의해 관리되고 있지 않다면 새로운 Entity 로 판단한다.
단, @GeneratedValue 가 적용된 경우 식별자가 할당된 채로 Attach 시도할 경우, Entity Manager 는 해당 엔티티에 대한 런타임 에러를 발생시킨다.

Solution

Entity Manager 와는 관계없이 JpaEntityInformationisNew(Entity) 에 의해 결정된다.
식별자 자동 생성 전략의 적용 여부에 따라 판단 기준이 달라지니, 추가적으로 확인이 필요

참고

JpaEntityInformation
SimpleJpaRepository - save() , merge()

profile
기록

0개의 댓글