मेरे पास कंपनी क्लास और कंपनीसेटिंग क्लास के बीच एक-से-एक संबंध है। जब मैं एक नई कंपनी वस्तु बनाने, (एक CompanySettings वस्तु अपनी सेटिंग्स संपत्ति के लिए कंपनी के निर्माता में बन जाता है), और फिरएनएचबेर्नेट, एक-से-एक मैपिंग, कैस्केड डालने
SaveOrUpdate(session, companyObject)
मैं CompanySettings को कंपनी से झरना की डालने की उम्मीद है। हालांकि, ऐसा तब तक नहीं होता जब तक कि मैं स्पष्ट रूप से CompanySettings ऑब्जेक्ट पर SaveOrUpdate को भी कॉल नहीं करता। कंपनी सेटिंग्स वर्ग के लिए
<?xml version="1.0" encoding="utf-8" ?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2"`>
<class name="AST.Domain.Company, AST.Domain" table="Companies">
<id name="EntityID" column="CompanyId">
<generator class="guid.comb" />
</id>
<property name="CompanyName" />
. . .
<one-to-one name="Settings" class="AST.Domain.CompanySettings, AST.Domain"
constrained="true" lazy="false" />
</class>
</hibernate-mapping>
मेरे मैपिंग फ़ाइल:
<?xml version="1.0" encoding="utf-8" ?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2">
<class name="AST.Domain.CompanySettings, AST.Domain" table="CompanySettings">
<id name="EntityID" column="CompanyId">
<generator class="foreign">
<param name="property">Company</param>
</generator>
</id>
<property name="MaxUsers" />
<one-to-one name="Company" class="AST.Domain.Company, AST.Domain" />
</class>
</hibernate-mapping>