• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    미해결

Transient, Detached 상태 질문드립니다.

18.08.20 04:57 작성 조회수 197

1

엔티티의 @Id 프로퍼티를 찾는다. 해당 프로퍼티가 null이면 Transient 상태로

판단하고 id가 null이 아니면 Detached 상태로 판단한다.

@Id 프로퍼티가 단순히 null인지 여부에 따라서 Transient, Detached로 판단할 경우

ID 생성전략을 데이터베이스에 위임하지 않고 객체가 직접하는 경우에는 모두 Detached로 받아 들이는 건가요?

아니면 Id 생성 전략에 따라서 그 판단 기준도 다른건가요?

답변 2

·

답변을 작성해보세요.

0

그리고 그 전략은 강좌에서 설명드린대로 id 생성 전략에 따라 바뀌는게 아니라, 새로운 객체인지 판별하는 전략에 따라 달라집니다. 기본 전략이 id값의 유무인 것일뿐, 얼마든지 다른 판단 로직으로 바꿀 수도 있습니다.

0

스프링 데이터 JPA의 기본 전력에 따르면 그런 경우에도 모두 detached 상태로 생각한다는게 맞습니다. 그런데 그런 경우라 하더라도, detached 상태로 생각해서 merge를 할 때 DB에 없기 때문에 add가 발생합니다. 따라서 결국엔 같은 결과를 얻게 되는거죠. 좋은 질문 감사합니다.