青岛建设集团招聘信息网站,网站建设优化的经营范围,网站怎么营销推广,钦州网站建设排名1.学习目标还是学习compenent的用法#xff0c;上节实现了简单字段的组合#xff0c;这节中将讨论两个问题#xff1a;1.依赖对象有一个指向容器对象的引用。2。集合依赖2.开发环境和必要准备开发环境为:windows 2003,Visual studio .Net 2005,Sql server 2005 developer ed…1.学习目标 还是学习compenent的用法上节实现了简单字段的组合这节中将讨论两个问题1.依赖对象有一个指向容器对象的引用。2。集合依赖2.开发环境和必要准备 开发环境为:windows 2003,Visual studio .Net 2005,Sql server 2005 developer edition 必要准备学习前六篇nhibernate学习系列Nhibernate学习之起步篇-1 ,Nhibernate学习起步之many-to-one篇 ,Nhibernate学习之many-to-many篇 ,nhibernate学习之三级联(Ternary Associations)篇 Nhibernate学习之性能改善1 nhibernate性能之二级缓存篇 ,nhibernate学习之简单组合的映射 3.通过parent为依赖组合对象映射一个指向容器对象的引用 CompositeUser.cs public class CompositeUser { int _uid; UserName _name; public int Uid { get { return _uid; } set { _uid value; } } public UserName Name { get { return _name; } set { _name value; } } } UserName.cs public class UserName { private string _firstName; private string _lastName; CompositeUser _user; public string FirstName { get { return _firstName; } set { _firstNamevalue; } } public string LastName { get { return _lastName; } set { _lastName value; } } public CompositeUser User { get { return _user; } set { _user value; } } } 映射文件:CompositeUser.hbm.xml?xml version1.0 encodingutf-8 ?hibernate-mapping xmlnsurn:nhibernate-mapping-2.2 class nameNhibernateSample1.CompositeUser,NhibernateSample1 tableCompositeUser lazyfalse id nameUid columnUid unsaved-value0 generator classnative / /id component nameName classNhibernateSample1.UserName,NhibernateSample1 parent nameUser/parent property nameFirstName columnFirstName/property property nameLastName columnLastName/property /component /class/hibernate-mapping 注意parent是指向容器对象的引用加载一个CompositeUser对象结果如图4. 集合组合依赖Composite.cspublic class CompositeUser { int _uid; UserName _name; ISet _userNames new HashedSet(); DateTime _birthDay DateTime.Now; public int Uid { get { return _uid; } set { _uid value; } } public ISet UserNames { get { return _userNames; } set { _userNames value; } } public DateTime BirthDay { get { return _birthDay; } set { _birthDay value; } } } UserName.cspublic class UserName { private string _firstName; private string _lastName; CompositeUser _user; public string FirstName { get { return _firstName; } set { _firstNamevalue; } } public string LastName { get { return _lastName; } set { _lastName value; } } public CompositeUser User { get { return _user; } set { _user value; } } } 映射文件CompositeUser.hbm.xml?xml version1.0 encodingutf-8 ?hibernate-mapping xmlnsurn:nhibernate-mapping-2.2 class nameNhibernateSample1.CompositeUser,NhibernateSample1 tableCompositeUser lazyfalse id nameUid columnUid unsaved-value0 generator classnative / /id set nameUserNames tableUserNames lazytrue key columnUid/ composite-element classNhibernateSample1.UserName,NhibernateSample1 property nameFirstName columnFirstName/property property nameLastName columnLastName/property /composite-element /set property nameBirthDay typeDateTime/property /class/hibernate-mapping 注意Composite可以包含集合也可以不包含集合上面这样的配置就不包括集合映射的属性可以选择为List,map,bag,idbag运行添加一个Composite的测试代码会在数据库中建立两个数据表 CompositeUser和UserNames效果图 转载于:https://www.cnblogs.com/wangzhanjianshe/archive/2008/02/21/2326478.html