StatelessSession을 사용하여 엔티티를 일괄 업데이트하려고합니다.엔티티를 업데이트하고 NHibernate StatelessSession을 사용할 때 하위 프록시를 무시합니다.
왜냐하면 상태가 없기 때문에 NHibernate는 저장시 하위 엔티티를 자동 캐스케이드하지 않습니다.
하위 엔티티 중 일부를 변경하고 싶지 않으므로 괜찮습니다.
저장해, NHibernate에 불평에 불행하게도 :
"객체가 저장되지 않은 과도 인스턴스를 참조 - 세척하기 전에 transient 인스턴스를 저장 유형 : Castle.Proxies.MyRandomEntityProxy : MyAssembly.MyRandomEntity, 엔티티."의
을 나는 시도하고 자식 개체를 업데이트 할 경우 물론,이 오류가 발생합니다 :
"아니 persister을 위해 : Castle.Proxies.MyRandomEntityProxy"
당신이 볼 수 있듯이가 자식 엔티티가 프록시 becau 그것은 적재되지 않았다. 나는 그것을 필요로하지 않는다, 나는 그것을 최신의 것으로하고 싶지 않다. .. 그러나 비록 내가해도 나는 할 수 있었다.
이 아이디어를 어떻게 해결할 것인가? 기본적으로 일시적인 하위 엔티티를 무시하도록 말하고 있습니까? 그것의 사용
<id name="Id" type="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" unsaved-value="0">
<column name="FlightId" />
<generator class="assigned" />
</id>
왜 프록시가 일시적입니까? 그것을 검색하는 동안 생성 된 경우 저장되지 않은 값의 매핑이 올바르지 않습니다. 그렇지 않으면 누가 그것을 만들고 있습니까? – Firo
검색 할 때 생성해야합니다. 만지지 않습니다. 어떤 방법으로 매핑이 잘못 되었습니까? Fluent Nhibernate를 사용하고 있으며, 해당 하위 엔티티의 매핑과 관련된 특정 작업을 수행하지 않습니다. –
'MyRandomEntity'에 대한 id-mapping은 어떻게 생겼습니까? – Firo