博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Nhibernate中One—to—One关系映射详解
阅读量:6244 次
发布时间:2019-06-22

本文共 1136 字,大约阅读时间需要 3 分钟。

最近对NHibernate的中持久化对象间关系初次涉及,发现第一次并不是很好理解其中关系分配,心里总是认为NHibernate框架关系分配不是很合理,但今天下午还就是拿了一个下午时间来研究One-to-One关系映射,相对其他one-to-many/many-to-one/many-to-mang关系而言,稍微简单理解一些,我发现这个One-to-one实质其实就是一个特殊的one-to-many关系映射,NHibernate中加以细分.不加以废话,切入正题.

持久化对象之间一对一的关联关系是通过 one-to-one元素定义的.在对持久化对象配置文件一个节点,为了方便了解后面的one-to-one中配置对该节点中涉及到属性加以罗列:

--one-to-one总体结构
<one-to-one
        name
="PropertyName"                                (1)
        
class="ClassName"                                  (2)
        cascade
="all|none|save-update|delete"              (3)
        constrained
="true|false"                           (4)
        fetch
="join|select"                                (5)
        property
-ref="PropertyNameFromAssociatedClass"     (6)
        access
="field|property|nosetter|ClassName"         (7)
/>
--各个属性定义:
(
1)name:属性名-必选属性
(
2)Class:呗关联的类的名称(可选-默认是通过反射得到的属性类型)
(
3)  cascade(级联) (可选) 表明操作是否从父对象级联到被关联的对象
(
4)constrained(约束)表名该类对应的表对应的数据库数据库表,和被关联的对象所对应的数据库表之间,通过一个外键引用对主键进行约束。 这个选项影响Save()和Delete()在级联执行时的先后顺序以及 决定该关联能否被委托(也在schema export tool中被使用). 
(
5)  fetch (可选 - 默认设置为select): 在外连接抓取或者序列选择抓取选择其一. 
(
6)  property-ref: (可选) 指定关联类的属性名,这个属性将会和本类的主键相对应。如果没有指定,会使用对方关联类的主键。 
 
(
7)  access (可选 - 默认是 property): NHibernate用来访问属性的策略

在园子里看到一个大牛写的很不错,总结的恰到好处,简洁而切合实际应用,我就不加以啰嗦,收藏做日后备份

直接引用:

本文转自chenkaiunion 51CTO博客,原文链接:http://blog.51cto.com/chenkai/765441

你可能感兴趣的文章
mysql中实现类似oracle中的nextval函数
查看>>
使用按键精灵+umdh定位内存泄露问题的方式
查看>>
RecyclerView实现ViewPager效果
查看>>
Bandicam视频录制技巧总结+小丸工具箱压缩视频解决视频体积问题
查看>>
JSP实现用户登录样例
查看>>
搞笑的W3C和M$对DOM中属性命名
查看>>
[Struts]让Dreamweaver显示Struts标签的插件
查看>>
便利的html5 之 required、number 、pattern
查看>>
[LeetCode] Find K Pairs with Smallest Sums 找和最小的K对数字
查看>>
VC6.0 C++ 如何调用微软windows系统SDK 语音API
查看>>
Python 3.5 RuntimeError: can&#39;t start new thread
查看>>
POJ 1659 Frogs&#39; Neighborhood(可图性判定—Havel-Hakimi定理)【超详解】
查看>>
数字统计问题
查看>>
Windows下Redis缓存服务器的使用 .NET StackExchange.Redis Redis Desktop Manager
查看>>
SharpMap简析
查看>>
使用类加载器加载配置文件/getClassLoader().getResourceAsStream()
查看>>
配置 linux-bridge mechanism driver - 每天5分钟玩转 OpenStack(77)
查看>>
matplotlib绑定到PyQt5(有菜单)
查看>>
iOS - QRCode 二维码
查看>>
记录第一次纯手打爬虫经历
查看>>