news 2026/7/6 3:44:12

NHibernate实例分享:Northwind Mapping

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
NHibernate实例分享:Northwind Mapping

本节内容

  • 说明
  • 代码
  • 参考资料

说明

NHibernate的强大之处在于其映射,我们在设计Domain中,经常为各种各样的映射感到头痛,为此我把微软SQL Server2000自带的Northwind数据库使用NHibernate映射了一下,需要的请下载其代码,在文章中就不仔细说明了,一切都在代码中。

顺便说一句,其实映射不必这么复杂的写出全部:

<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2"> <class name="YourApp.Common.DataObjects.Address, YourApp" table="Address"> <id name="Id" type="Int32" unsaved-value="null"> <column name="Id" length="4" sql-type="int" not-null="true" unique="true" index="PK_Address"/> <generator class="native" /> </id> <property name="Address1" type="String"> <column name="Address1" length="255" sql-type="varchar" not-null="true"/> </property> <property name="Address2" type="String"> <column name="Address2" length="255" sql-type="varchar" not-null="false"/> </property> <property name="City" type="String"> <column name="City" length="255" sql-type="varchar" not-null="true"/> </property> <property name="State" type="String"> <column name="`State`" length="2" sql-type="varchar" not-null="true"/> </property> <property name="Zip" type="String"> <column name="Zip" length="12" sql-type="varchar" not-null="true"/> </property> <many-to-one name="Contact" class="YourApp.Common.DataObjects.Contact, YourApp"> <column name="Contact_Id" length="4" sql-type="int" not-null="false"/> </many-to-one> <bag name="BillToOrderHeaders" inverse="true" lazy="true" cascade="all-delete-orphan"> <key column="BillToAddress_Id"/> <one-to-many class="YourApp.Common.DataObjects.OrderHeader, YourApp"/> </bag> <bag name="ShipToOrderHeaders" inverse="true" lazy="true" cascade="all-delete-orphan"> <key column="ShipToAddress_Id"/> <one-to-many class="YourApp.Common.DataObjects.OrderHeader, YourApp"/> </bag> </class> </hibernate-mapping>

其实这样就可以了,不要把默认的都写上去的,我这个例子映射写的最简洁,大家下载看看吧

<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" assembly="YourApp" namespace="YourApp.Common.DataObjects"> <class name="Address"> <id name="Id"> <generator class="native" /> </id> <property name="Address1" not-null="true" /> <property name="Address2"/> <property name="City" not-null="true"/> <property name="State" length="2" not-null="true"/> <property name="Zip" length="12" not-null="true"/> <many-to-one name="Contact" column="Contact_Id"/> <bag name="BillToOrderHeaders" inverse="true" cascade="all-delete-orphan"> <key column="BillToAddress_Id"/> <one-to-many class="OrderHeader"/> </bag> <bag name="ShipToOrderHeaders" inverse="true" cascade="all-delete-orphan"> <key column="ShipToAddress_Id"/> <one-to-many class="OrderHeader"/> </bag> </class> </hibernate-mapping>
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/6 3:40:19

2026年全铜卫浴五金洁具厂商口碑情况汇总

一、行业背景与现状据了解&#xff0c;在2026年&#xff0c;全铜卫浴五金洁具行业呈现出较为稳定的发展态势。据公开资料显示&#xff0c;市场规模持续扩大&#xff0c;随着人们生活品质的提高&#xff0c;对卫浴产品的需求不断增加。在政策方面&#xff0c;环保要求日益严格&a…

作者头像 李华
网站建设 2026/7/6 3:38:30

Vben精讲:06-Vben环境变量配置

文章目录学习文档环境变量配置文件&#xff1a;Vben\\vue-vben-admin\\.gitignore文件 apps\web-antd\src\main.ts环境变量优先级学习文档 https://doc.vben.pro/ https://doc.vben.pro/guide/essentials/settings.html 环境变量配置 .env # 在所有的环境中…

作者头像 李华
网站建设 2026/7/6 3:37:38

MoeKoe Music终极指南:如何用开源免费客户端享受VIP音乐体验

MoeKoe Music终极指南&#xff1a;如何用开源免费客户端享受VIP音乐体验 【免费下载链接】MoeKoeMusic 一款开源简洁高颜值的酷狗第三方客户端 An open-source, concise, and aesthetically pleasing third-party client for KuGou that supports Windows / macOS / Linux / We…

作者头像 李华
网站建设 2026/7/6 3:34:55

Python自动化测试·Selenium操控元素的方法

你好&#xff0c;我是安然无虞。 文章目录 操控元素的基本方法点击元素输入框获取元素信息获取元素的文本内容获取元素属性值获取整个元素对应的HTML获取输入框里面的文字获取元素文本内容2 补充练习: QQ音乐 操控元素的基本方法 选择到元素之后, 我们的代码会返回元素对应的…

作者头像 李华
网站建设 2026/7/6 3:32:04

Cline 配置 Claude Sonnet 5 实战指南:思考深度调优与切换 Fable 5 的时机

Cline 很吃 token。每一轮它都会重发你的文件树、打开的缓冲区和正在跑的任务上下文&#xff0c;所以你选的模型很快就会体现在账单上。Claude Sonnet 5 就是那个能让这个循环负担得起、又不至于掉到弱模型的选择&#xff0c;本文大约五分钟带你配好。 有两件事最容易把人绊住…

作者头像 李华