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