NHibernate 세션에서 연결이 끊긴 프록시가 있는데 두 번째 세션에서 수정되었는지 확인하려고합니다. 이 과정에서, 나는 개체가 프록시인지 확인하고,이 경우, 다음의 호출을 수행IPersistenceContext.UnproxyAndReassociate 후에 IPersistenceContext.GetEntry가 null을 반환하는 이유는 무엇입니까?
var proxy = entity as INHibernateProxy;
var obj = persistenceContext.UnproxyAndReassociate(proxy);
var oldEntry = persistenceContext.GetEntry(obj);
내가 oldEntry
가 null되지 않을 것이라는 점을이 시점에서 기대 프록시 이후 및 기본 엔티티가 persistenceContext
과 다시 연결되었습니다. 그러나 UnproxyAndReassociate
은 StatefulPersistenceContext.entityEntries
맵을 엔터티로 채우지 않습니다.
왜 안 되니? 리 어소시에이션이로드와 동일한 것으로 간주되지 않습니까? 당신이 UnproxyAndReassociate
의 구현을 살펴 경우