1.學習目标
還是學習compenent的用法,上節實作了簡單字段的組合,這節中将讨論兩個問題:1.依賴對象有一個指向容器對象的引用。2。集合依賴
2.開發環境和必要準備
開發環境為:windows 2003,Visual studio .Net 2005,Sql server 2005 developer edition
3.通過parent為依賴組合對象映射一個指向容器對象的引用
CompositeUser.cs
nhibernate學習之集合組合依賴
nhibernate學習之集合組合依賴
nhibernate學習之集合組合依賴 public class CompositeUser
nhibernate學習之集合組合依賴
nhibernate學習之集合組合依賴
nhibernate學習之集合組合依賴 {
nhibernate學習之集合組合依賴 int _uid;
nhibernate學習之集合組合依賴 UserName _name;
nhibernate學習之集合組合依賴 public int Uid
nhibernate學習之集合組合依賴
nhibernate學習之集合組合依賴
nhibernate學習之集合組合依賴
nhibernate學習之集合組合依賴 get
nhibernate學習之集合組合依賴
nhibernate學習之集合組合依賴
nhibernate學習之集合組合依賴 return _uid;
nhibernate學習之集合組合依賴 }
nhibernate學習之集合組合依賴 set
nhibernate學習之集合組合依賴
nhibernate學習之集合組合依賴
nhibernate學習之集合組合依賴 _uid = value;
nhibernate學習之集合組合依賴
nhibernate學習之集合組合依賴 }
nhibernate學習之集合組合依賴
nhibernate學習之集合組合依賴 public UserName Name
nhibernate學習之集合組合依賴
nhibernate學習之集合組合依賴
nhibernate學習之集合組合依賴
nhibernate學習之集合組合依賴
nhibernate學習之集合組合依賴
nhibernate學習之集合組合依賴
nhibernate學習之集合組合依賴
nhibernate學習之集合組合依賴 return _name;
nhibernate學習之集合組合依賴
nhibernate學習之集合組合依賴
nhibernate學習之集合組合依賴
nhibernate學習之集合組合依賴
nhibernate學習之集合組合依賴
nhibernate學習之集合組合依賴 _name = value;
nhibernate學習之集合組合依賴
nhibernate學習之集合組合依賴
nhibernate學習之集合組合依賴 }
UserName.cs
nhibernate學習之集合組合依賴
nhibernate學習之集合組合依賴
nhibernate學習之集合組合依賴 public class UserName
nhibernate學習之集合組合依賴
nhibernate學習之集合組合依賴
nhibernate學習之集合組合依賴
nhibernate學習之集合組合依賴 private string _firstName;
nhibernate學習之集合組合依賴 private string _lastName;
nhibernate學習之集合組合依賴 CompositeUser _user;
nhibernate學習之集合組合依賴 public string FirstName
nhibernate學習之集合組合依賴
nhibernate學習之集合組合依賴
nhibernate學習之集合組合依賴
nhibernate學習之集合組合依賴
nhibernate學習之集合組合依賴
nhibernate學習之集合組合依賴
nhibernate學習之集合組合依賴
nhibernate學習之集合組合依賴 return _firstName;
nhibernate學習之集合組合依賴
nhibernate學習之集合組合依賴
nhibernate學習之集合組合依賴
nhibernate學習之集合組合依賴
nhibernate學習之集合組合依賴
nhibernate學習之集合組合依賴 _firstName=value;
nhibernate學習之集合組合依賴
nhibernate學習之集合組合依賴
nhibernate學習之集合組合依賴 public string LastName
nhibernate學習之集合組合依賴
nhibernate學習之集合組合依賴
nhibernate學習之集合組合依賴
nhibernate學習之集合組合依賴
nhibernate學習之集合組合依賴
nhibernate學習之集合組合依賴
nhibernate學習之集合組合依賴
nhibernate學習之集合組合依賴 return _lastName;
nhibernate學習之集合組合依賴
nhibernate學習之集合組合依賴
nhibernate學習之集合組合依賴
nhibernate學習之集合組合依賴
nhibernate學習之集合組合依賴
nhibernate學習之集合組合依賴 _lastName = value;
nhibernate學習之集合組合依賴
nhibernate學習之集合組合依賴
nhibernate學習之集合組合依賴 public CompositeUser User
nhibernate學習之集合組合依賴
nhibernate學習之集合組合依賴
nhibernate學習之集合組合依賴
nhibernate學習之集合組合依賴
nhibernate學習之集合組合依賴
nhibernate學習之集合組合依賴
nhibernate學習之集合組合依賴
nhibernate學習之集合組合依賴 return _user;
nhibernate學習之集合組合依賴
nhibernate學習之集合組合依賴
nhibernate學習之集合組合依賴
nhibernate學習之集合組合依賴
nhibernate學習之集合組合依賴
nhibernate學習之集合組合依賴 _user = value;
nhibernate學習之集合組合依賴
nhibernate學習之集合組合依賴
nhibernate學習之集合組合依賴 映射檔案:CompositeUser.hbm.xml
nhibernate學習之集合組合依賴 <?xml version="1.0" encoding="utf-8" ?>
nhibernate學習之集合組合依賴 <hibernate-mapping xmlns="urn:nhibernate-mapping-2.2">
nhibernate學習之集合組合依賴 <class name="NhibernateSample1.CompositeUser,NhibernateSample1" table="CompositeUser" lazy="false">
nhibernate學習之集合組合依賴 <id name="Uid" column="Uid" unsaved-value="0">
nhibernate學習之集合組合依賴 <generator class="native" />
nhibernate學習之集合組合依賴 </id>
nhibernate學習之集合組合依賴 <component name="Name" class="NhibernateSample1.UserName,NhibernateSample1">
nhibernate學習之集合組合依賴 <parent name="User"></parent>
nhibernate學習之集合組合依賴 <property name="FirstName" column="FirstName"></property>
nhibernate學習之集合組合依賴 <property name="LastName" column="LastName"></property>
nhibernate學習之集合組合依賴 </component>
nhibernate學習之集合組合依賴 </class>
nhibernate學習之集合組合依賴 </hibernate-mapping>
注意parent是指向容器對象的引用
加載一個CompositeUser對象,結果如圖
nhibernate學習之集合組合依賴 4. 集合組合依賴
Composite.cs
nhibernate學習之集合組合依賴
nhibernate學習之集合組合依賴
nhibernate學習之集合組合依賴
nhibernate學習之集合組合依賴
nhibernate學習之集合組合依賴
nhibernate學習之集合組合依賴
nhibernate學習之集合組合依賴
nhibernate學習之集合組合依賴
nhibernate學習之集合組合依賴 ISet _userNames = new HashedSet();
nhibernate學習之集合組合依賴 DateTime _birthDay = DateTime.Now;
nhibernate學習之集合組合依賴
nhibernate學習之集合組合依賴
nhibernate學習之集合組合依賴
nhibernate學習之集合組合依賴
nhibernate學習之集合組合依賴
nhibernate學習之集合組合依賴
nhibernate學習之集合組合依賴
nhibernate學習之集合組合依賴
nhibernate學習之集合組合依賴
nhibernate學習之集合組合依賴
nhibernate學習之集合組合依賴
nhibernate學習之集合組合依賴
nhibernate學習之集合組合依賴
nhibernate學習之集合組合依賴
nhibernate學習之集合組合依賴
nhibernate學習之集合組合依賴
nhibernate學習之集合組合依賴
nhibernate學習之集合組合依賴 public ISet UserNames
nhibernate學習之集合組合依賴
nhibernate學習之集合組合依賴
nhibernate學習之集合組合依賴
nhibernate學習之集合組合依賴
nhibernate學習之集合組合依賴
nhibernate學習之集合組合依賴
nhibernate學習之集合組合依賴
nhibernate學習之集合組合依賴 return _userNames;
nhibernate學習之集合組合依賴
nhibernate學習之集合組合依賴
nhibernate學習之集合組合依賴
nhibernate學習之集合組合依賴
nhibernate學習之集合組合依賴
nhibernate學習之集合組合依賴 _userNames = value;
nhibernate學習之集合組合依賴
nhibernate學習之集合組合依賴
nhibernate學習之集合組合依賴 public DateTime BirthDay
nhibernate學習之集合組合依賴
nhibernate學習之集合組合依賴
nhibernate學習之集合組合依賴
nhibernate學習之集合組合依賴
nhibernate學習之集合組合依賴
nhibernate學習之集合組合依賴
nhibernate學習之集合組合依賴
nhibernate學習之集合組合依賴 return _birthDay;
nhibernate學習之集合組合依賴
nhibernate學習之集合組合依賴
nhibernate學習之集合組合依賴
nhibernate學習之集合組合依賴
nhibernate學習之集合組合依賴
nhibernate學習之集合組合依賴 _birthDay = value;
nhibernate學習之集合組合依賴
nhibernate學習之集合組合依賴
nhibernate學習之集合組合依賴 UserName.cs
nhibernate學習之集合組合依賴
nhibernate學習之集合組合依賴
nhibernate學習之集合組合依賴 public class UserName
nhibernate學習之集合組合依賴
nhibernate學習之集合組合依賴
nhibernate學習之集合組合依賴
nhibernate學習之集合組合依賴
nhibernate學習之集合組合依賴
nhibernate學習之集合組合依賴
nhibernate學習之集合組合依賴
nhibernate學習之集合組合依賴
nhibernate學習之集合組合依賴
nhibernate學習之集合組合依賴
nhibernate學習之集合組合依賴
nhibernate學習之集合組合依賴
nhibernate學習之集合組合依賴
nhibernate學習之集合組合依賴
nhibernate學習之集合組合依賴
nhibernate學習之集合組合依賴
nhibernate學習之集合組合依賴
nhibernate學習之集合組合依賴
nhibernate學習之集合組合依賴
nhibernate學習之集合組合依賴
nhibernate學習之集合組合依賴
nhibernate學習之集合組合依賴
nhibernate學習之集合組合依賴
nhibernate學習之集合組合依賴
nhibernate學習之集合組合依賴
nhibernate學習之集合組合依賴
nhibernate學習之集合組合依賴
nhibernate學習之集合組合依賴
nhibernate學習之集合組合依賴
nhibernate學習之集合組合依賴
nhibernate學習之集合組合依賴
nhibernate學習之集合組合依賴
nhibernate學習之集合組合依賴
nhibernate學習之集合組合依賴
nhibernate學習之集合組合依賴
nhibernate學習之集合組合依賴
nhibernate學習之集合組合依賴
nhibernate學習之集合組合依賴
nhibernate學習之集合組合依賴
nhibernate學習之集合組合依賴
nhibernate學習之集合組合依賴
nhibernate學習之集合組合依賴
nhibernate學習之集合組合依賴
nhibernate學習之集合組合依賴
nhibernate學習之集合組合依賴
nhibernate學習之集合組合依賴
nhibernate學習之集合組合依賴
nhibernate學習之集合組合依賴
nhibernate學習之集合組合依賴
nhibernate學習之集合組合依賴
nhibernate學習之集合組合依賴
nhibernate學習之集合組合依賴
nhibernate學習之集合組合依賴
nhibernate學習之集合組合依賴
nhibernate學習之集合組合依賴
nhibernate學習之集合組合依賴
nhibernate學習之集合組合依賴
nhibernate學習之集合組合依賴 映射檔案CompositeUser.hbm.xml
nhibernate學習之集合組合依賴
nhibernate學習之集合組合依賴
nhibernate學習之集合組合依賴
nhibernate學習之集合組合依賴
nhibernate學習之集合組合依賴
nhibernate學習之集合組合依賴
nhibernate學習之集合組合依賴 <set name="UserNames" table="UserNames" lazy="true">
nhibernate學習之集合組合依賴 <key column="Uid"/>
nhibernate學習之集合組合依賴 <composite-element class="NhibernateSample1.UserName,NhibernateSample1">
nhibernate學習之集合組合依賴 <property name="FirstName" column="FirstName"></property>
nhibernate學習之集合組合依賴 <property name="LastName" column="LastName"></property>
nhibernate學習之集合組合依賴 </composite-element >
nhibernate學習之集合組合依賴 </set>
nhibernate學習之集合組合依賴 <property name="BirthDay" type="DateTime"></property>
nhibernate學習之集合組合依賴
nhibernate學習之集合組合依賴 注意:Composite可以包含集合也可以不包含集合,上面這樣的配置就不包括集合,映射的屬性可以選擇為List,map,bag,idbag