해결된 질문
작성
·
396
0
안녕하세요 영한님!!!
동일성 보장을 애플리케이션 쪽에서 해주는 코드를 뜯어보고 싶은데 보이지가 않습니다
package org.hibernate.internal;
public class SessionImpl extends AbstractSessionImpl implements EventSource, SessionImplementor, HibernateEntityManagerImplementor
SessionImpl 클래스를 보니까 Map<String, Object> 형태로 저장하기 때문에 동일성이 보장이 되는 걸까요??
어느 부분에서 같다고 판별을 하는지 너무 궁금합니다!!!!
제가 내린 결론은 MetamodelImpl 클래스에 entityPersisterMap 에서 판별을 하는 것 같습니다!!
수정 -----------------------
친구가 이거 같다고 해서 이 클래스를 보니까 hascode equals 가 오버라이딩 되어 있었습니다.
제가 이해한 바로는
이 entitykey 가 같은 객체를 반환하니까 동일성보장이 된다고 생각합니다.
https://docs.jboss.org/hibernate/orm/3.2/api/index.html
공식문서를 보니까 EntityKey 가 Serializale id 이 고윳값으로 구분하는 것 같습니다!!
제가 이해한게 맞을까요?
답변 1
2
안녕하세요. dnr3655님
저도 하이버네이트가 정확히 어떻게 이런 부분을 구현하고 있는지는 잘 모릅니다^^
관련해서 자세히 아시는 분 있으면 도움 부탁드려요.
감사합니다.
답변 감사합니다!!