I have a compsite match on two integers between the table node and the table booking
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" assembly="Domain.Model" namespace="Domain.Model.Simulation">
<class name="Node" table="simNode">
<composite-id>
<key-property name="ID"/>
<key-property name="BaselineID"/>
</composite-id>
<many-to-one name="Booking" class="Booking" >
<column name="BookingID" />
<column name="BaselineID" />
</many-to-one>
...
to booking
<?xml version="1.0" encoding="utf-8" ?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" assembly="Domain.Model" namespace="Domain.Model.Simulation">
<class name="Booking" table="simBooking">
<composite-id unsaved-value="none">
<key-property name="ID" column="ID" type="Int32"/>
<key-property name="BaselineID" column="BaselineID" type="Int32"/>
</composite-id>
...
Now if, for example a node has composite ID: ID 45, BaselineID 2, but has a BookingID of null then instead of getting Node.Booking = null, I get Node.Booking = Domain_Model_SimulationBookingSimulation_NHibernate_ProxyINHibernateProxy1
If there is a join to booking, IE BookingID = 2, then I get a booking object as expected.
|