I have a situation where NHibernate will not lazy load a property two
degrees removed from the initial object, *except* when that property
is marked as cascade="all". I think this is a bug, but it could just
be a misunderstanding on my part about the relationship between lazy
loading and cascade options. Either way, any information/advice about
this would be appreciated.
My C# code looks like this:
var initialObject = <get object of type TextualDepartureProcedure from
the session...>
var targetObj = TextualDepartureProcedure.VcoaInstrData.Vcoas.First();
This fails with a lazy load initialization exception.. But if I
change the TextualDepartureProcedure to VcoaInstrData cascade to
"all", the properties are lazily loaded correctly.
My hbms look like this (non-pertinent data removed):
<?xml version="1.0" encoding="utf-8" ?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2"
namespace="Org.Ifp.Departure.Data" assembly="Org.Ifp.Departure.Data">
<class name="TextualDepartureProcedure" table="V_T_DPRT_PROC">
<composite-id>
<key-property name="RevNbr" column="REV_NBR"
type="Int32" />
<key-property name="Uuid" column="UUID" type="Guid" />
</composite-id>
<many-to-one name="VcoaInstrData" class="VcoaInstrData" not-
null="false" cascade="none" not-found="ignore">
<column name="VCOA_INSTR_UUID" />
</many-to-one>
</class>
</hibernate-mapping>
<?xml version="1.0" encoding="utf-8" ?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2"
namespace="Org.Ifp.Departure.Data" assembly="Org.Ifp.Departure.Data">
<class name="VcoaInstrData" table="V_VCOA_INSTR">
<id name="Uuid" column="UUID" type="Guid">
<generator class="assigned" />
</id>
<bag name="Vcoas" table="V_VCOA" lazy="true"
cascade="save-update"
inverse="true">
<key>
<column name="VCOA_INSTR_UUID" />
</key>
<one-to-many class="VcoaData" not-found="ignore" />
</bag>
<many-to-one name="TextualDepartureProcedure"
class="TextualDepartureProcedure" not-null="false" cascade="none" not-
found="ignore">
<column name="T_DPRT_PROC_REV_NBR" />
<column name="T_DPRT_PROC_UUID" />
</many-to-one>
</class>
</hibernate-mapping>
<?xml version="1.0" encoding="utf-8" ?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2"
namespace="Org.Ifp.Departure.Data" assembly="Org.Ifp.Departure.Data">
<class name="VcoaData" table="V_VCOA">
<id name="Uuid" column="UUID" type="Guid">
<generator class="assigned" />
</id>
<many-to-one name="VcoaInstData" class="VcoaInstrData" not-
null="false" cascade="save-update" not-found="ignore">
<column name="VCOA_INSTR_UUID" />
</many-to-one>
</class>
</hibernate-mapping>
--
You received this message because you are subscribed to the Google Groups
"nhusers" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/nhusers?hl=en.