Nhibernate学习之many-to-many篇

news/2024/7/4 1:24:02 标签: hibernate, string, null, class, generator, table
class="baidu_pl">
class="article_content clearfix">
class="htmledit_views">
  1. 学习目的:

通过进一步学习Nclass="tags" href="/tags/HIBERNATE.html" title=hibernate>hibernate基础知识,掌握用Nhiberate实现多对多的业务逻辑

  1. 开发环境+必要准备

  开发环境: windows 2003,Visual studio .Net 2005,Sql server 2005 developer edition

      前期准备: 学习上两篇单表操作和many-to-one篇
 

3.对上篇文章的部分解释

 1)bag节点:用于定义System.Collection.IList类型的集合元素。

<table cellspacing="0" cellpadding="3" border="1" style="width: 576px; height: 163px; background-color: rgb(192, 192, 192);">

属性

用法

举例

name

映射的属性(必须)

name=”SalaryList”

table

映射的数据表(可选)table=”Salary”lazy延迟加载(可选)Lazy=true|falsecascade指示级联操作方式(可选)Cascade=allinverse关联由谁负责维护Inverse=”true”table>

当lazy=”true”,父类初始化的时候不会自动加载子类集合

 Cascade为级联操作方式,包括: 

<table cellspacing="0" cellpadding="3" border="1" style="width: 581px; height: 190px; background-color: rgb(192, 192, 192);">属性用法说明none默认值,不进行级联操作save-updatesave和update级联delete删除级联delete-orphan删除不相关的父对象的子对象allsave/update/delete级联all-delete-orphanall+delete-arphantable>    当inverse=”true”的时候代表由子类维护级联关系。这时候如果只往父类中添加子类,但不设定子类的父类,是不能保存子类的

 4.多对多业务模型

    还是用户系统,1个用户职员隶属于多个部门,同时1个部门有多个不同的职员 
    用户和部门之间的数据关系图为:

5.  实现步骤:
  1)User.cs

User.cs

  2)User.hbm.xml 

User.hbm.xml
  3) Departments.cs
Departments
4) Departments.hbm.xml
Departments.hbm.xml
5) 数据操作类 
UserDepartmentFixure.cs
6)单元测试类
UnitTest1.cs
到现在为止,终于更加体会到nclass="tags" href="/tags/HIBERNATE.html" title=hibernate>hibernate的强大了。继续努力,fight!
files: /Files/jillzhang/simple3.rar
上几篇文章:   Nclass="tags" href="/tags/HIBERNATE.html" title=hibernate>hibernate学习之起步篇-1 
               Nclass="tags" href="/tags/HIBERNATE.html" title=hibernate>hibernate分析之华山论剑篇 
               Nclass="tags" href="/tags/HIBERNATE.html" title=hibernate>hibernate学习起步之many-to-one篇  

http://www.niftyadmin.cn/n/1413748.html

相关文章

名字太长辣眼睛,ubuntu如何设置不显示用户和本机名?

有时候在linux下进入到某个很深的目录中&#xff0c;光路径都能占一行&#xff0c;看起来及其尴尬&#xff0c;又或者需要截图出去&#xff0c;但是又不想暴露过多信息&#xff0c;一般操作就是截图后再马赛克掉&#xff0c;类似下面这样 现在有一种十分简单的方法 # sudo vi …

2018-2019-2 网络对抗技术 20165220 Exp2 后门原理与实践

实验内容 1.使用netcat获取主机操作Shell&#xff0c;cron启动2.使用socat获取主机操作Shell, 任务计划启动3.使用MSF meterpreter&#xff08;或其他软件&#xff09;生成可执行文件&#xff0c;利用ncat或socat传送到主机并运行获取主机Shell4.使用MSF meterpreter&#xff0…

linux中创建python virtualenv虚拟环境

背景&#xff1a;我们在开发过程中经常开发A需要这个python2.7&#xff0c;开发B需要python3.5&#xff0c;而且有很多相同但是不同版本的依赖包&#xff0c;这个时候虚拟环境virtualenv就派上用场了&#xff0c;anaconda3也有同样的功能&#xff0c;但是它比较大功能也更加全面…

nhibernate学习之三级联(Ternary Associations)篇

园子里面的兄弟们好&#xff0c;由于工作和身体的原因&#xff0c;几天来都没有写有关nhibernate学习系列了。看了看前几篇大家的回复&#xff0c;首先想要多谢兄弟们对小弟的关注和支持&#xff0c;可小弟水平有限&#xff0c;写出来的也只是入门级的心得。只是有一个心愿&…

交叉编译sysstat工具(mpstat、iostat、sar等)

linux下经常需要分析cpu占用率、io使用情况、内存使用情况等系统相关状态&#xff0c;sysstat是一个工具包&#xff0c;里面集成了很多条工具命令。有的嵌入式设备中不带sysstat里面的命令&#xff0c;这个时候就需要我们根据开发板的编译链手动编译一下就可以使用了。 iostat…

MySQL主从同步故障-Slave_SQL_Running: Error

故障现象&#xff1a;进入slave服务器&#xff0c;运行&#xff1a;mysql> show slave status\G.......Relay_Master_Log_File: mysql-bin.000005Slave_IO_Running: YesSlave_SQL_Running: NoReplicate_Do_DB: Replicate_Ignore_DB: Replicate_Do_Table: Replicate_Ignore_T…

Nhibernate学习之性能改善1

1.学习目标通过几天来大家对Nhiberate的反映&#xff0c;很多人对它的性能非常的担心&#xff0c;本文便着手从最直观的角度和方法中逐步改善nhiberate的性能。改善性能是需要做出很多分析和测试的&#xff0c;本文试图从最表层的对象入手&#xff0c;以后逐渐增加其他方面的性…

ubuntu16.04找不到libgtk-x11-2.0.so解决方法

解决方案&#xff1a; 需要安装32位的库&#xff0c;命令如下&#xff1a; apt-get install libgtk2.0-0:i386 如果出现类似下面的错误 E: Unable to locate package libgtk2.0-0 E: Couldnt find any package by regex libgtk2.0-0那么还需要使用下面的命令打开32位支持功能&…