-
카테고리
-
세부 분야
백엔드
-
해결 여부
미해결
Transient, Detached 상태 질문드립니다.
18.08.20 04:57 작성 조회수 197
1
엔티티의 @Id 프로퍼티를 찾는다. 해당 프로퍼티가 null이면 Transient 상태로
판단하고 id가 null이 아니면 Detached 상태로 판단한다.
@Id 프로퍼티가 단순히 null인지 여부에 따라서 Transient, Detached로 판단할 경우
ID 생성전략을 데이터베이스에 위임하지 않고 객체가 직접하는 경우에는 모두 Detached로 받아 들이는 건가요?
아니면 Id 생성 전략에 따라서 그 판단 기준도 다른건가요?
답변을 작성해보세요.
0
백기선
지식공유자2018.08.20
그리고 그 전략은 강좌에서 설명드린대로 id 생성 전략에 따라 바뀌는게 아니라, 새로운 객체인지 판별하는 전략에 따라 달라집니다. 기본 전략이 id값의 유무인 것일뿐, 얼마든지 다른 판단 로직으로 바꿀 수도 있습니다.
0
백기선
지식공유자2018.08.20
스프링 데이터 JPA의 기본 전력에 따르면 그런 경우에도 모두 detached 상태로 생각한다는게 맞습니다. 그런데 그런 경우라 하더라도, detached 상태로 생각해서 merge를 할 때 DB에 없기 때문에 add가 발생합니다. 따라서 결국엔 같은 결과를 얻게 되는거죠. 좋은 질문 감사합니다.
답변 2