- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Hibernate 中 映射关系
many-to-one:描述多对一的一种数据模型,它指定 many 一方是不能独立存在的,我个人认为 many-to-one 是 NHB 中保证数据有效性的 最有用的一种映射,通过使用 many-to-one 能有效的防治孤儿记录被写入到数据表中。在本文描述的例子中,Student 类和 Classes 类之间 是多对一关系.
通过 many-to-one 元素,可以定义一种常见的与另一个持久化类的关联。这种关系模型是多对一关联。(实际上是一个对象引用。)在映射 文件中用many-to-one 标签描述此种关系.
many-to-one
name=propertyName(1) column=column_name(2) class=ClassName(3) cascade=all|none|save-update|delete(4) outer-join=true|false|auto(5) update=true|false(6) insert=true|false(7)
property-ref=propertyNameFromAssociatedClass (8) access=field|property|ClassName(9) unique=true|false (10)
/
1.name:属性名。指出 many 一方的类用哪个属性和 one 一方的类关联. 2.column:字段名(可选).指出 many 一方的类对应的数据表用哪个列和 one 一方的类对应的数据表关联(两表之间存在外键关联); 3.class:关联的类的名字(可选 - 默认是通过反射得到属性类型); 4.cascade:指明哪些操作会从父对象级联到关联的对象(可选).cascade 属性允许下列值:: all, save-update, delete, none. 设置除了 none 以外的其它值会传播特定的操作到关联的(子)对象中。
5.outer-join:当设置 hibernate.use_outer_join 的时候,对这个关联允许外连接抓取(可选 - 默认为 auto).outer-join 参数允许下列三个不同值: auto(使用外连接抓取关联(对象),如果被关联的对象没有代理(proxy) ), true(一直使用外连接来抓取关联),false(永远不使用外连接来抓取关联); 6.update,insert:指定对应的字段是否在用于 UPDATE 和/或 INSERT 的 SQL 语句中包含。如果二者都是false,则这是一个纯粹的“外源性(derived)”关联,它的值是通过映射到同一个(或多个)字段 的某些其他属性得到的,或者通过 trigger(除法器),或者是其他程序(可选 - 默认为 true) 7.property-ref:指定关联类的一个属性,这个属性将会和本外键相对应。如果没有指定,会使用对方关联类的主键(可 选).property-ref 属性只应该用来对付老旧的数据库系统,可能出现外键指向对方关联表的是个非主键字段(但是应该是一个惟一关键字)的情况。 这是一种十分丑陋的关系模型。比如说, 假 设 Product 类 有 一 个 惟 一 的 序 列 号 , 它 并 不 是 主 键 ; 8.access:NHibernate 用来访问属性的策略(可选 - 默认为 property)
9.unique:允许产生外键列唯一约束的数据库定义语言(DDL)(可选) 那么关于 Student 的映射可能是:
many-to-one name=Classes column=cID unique =true/
只要在原 Student.hbm.xml 映射文件中添加 many-to-one 标签就可以了. 对于 Sturent 类得添加一个属性 Classes:Classes
one-to-many:一对多也是一种常见的数据模型,在按范式设计的数据库中随处
可见。在 NHB 中通过 one-to-many 可以非常方便的 处理这种模型,同时 NHB 还提供了级联更新和删除的功能,以保证数据完整性。在本文描述的例子中, Classes 类和 Student 类是一对多的关系.
Classes 类的映射文件:Classes.hbm.xml
?xml version=1.0 encoding=utf-8 ?
hibernate-mapping xmlns=urn:nhibernate-mapping-2.0
class name=NHibernateTest.Classes,NHibernateTest table=Classes
id name=ClassesID column=I
您可能关注的文档
最近下载
- 23S519小型排水构筑物.pptx VIP
- 湛江市霞山区滨海四中六年级升七年级语-数-英分班考试题.docx VIP
- 2024年深芯盟国产无线通信芯片厂商调研分析报告-深芯盟.pdf
- 第一单元(知识清单)六年级语文上册单元速记巧练(统编版).pdf VIP
- 日产600t双膛窑技术方案(改1).doc
- 众为兴cnc4340系统版说明书附加页.pdf VIP
- SOA架构智能座舱:设计与实现.docx VIP
- 伦茨82EV矢量变频器(内置闭环型)操作手册.pdf VIP
- DB61T-体育赛事信息化建设技术规范 信息系统建设.pdf VIP
- Q-CR 517.2-2023铁路工程喷膜防水材料 第2部分:喷涂橡胶沥青(OCR).pdf
原创力文档


文档评论(0)