<?xml version="1.0"  encoding="utf-8" ?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2">
<class name="Contract.Domain.Teacher,CCRModel" table="TEACHER">
<id name="Id" type="int" column="Id" >
<generator class="native" />
</id>
<property name="TName" column="T_NAME" />
<bag name="Students" cascade="all">
<key column="TEACHER_ID" not-null="true"/>
<one-to-many class="Contract.Domain.Student"/>
</bag>
</class> </hibernate-mapping> <?xml version="1.0" encoding="utf-8" ?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2">
<class name="Contract.Domain.Student,CCRModel" table="STUDENT">
<id name="Id" type="int" column="Id" >
<generator class="native" />
</id>
<property name="SName" column="S_NAME" /> <many-to-one name="Teacher" class="Contract.Domain.Teacher" column="TEACHER_ID" not-null="true"/>
</class> </hibernate-mapping> var session1 = Dao.GetSession(); Teacher t = new Teacher() { TName = "laoshi" }; Student s1 = new Student() { SName = "t1" }; Student s2 = new Student() { SName = "t2" }; t.Students = new List<Student>();
t.Students.Add(s1);
t.Students.Add(s2); s1.Teacher = t;
s2.Teacher = t; session1.SaveOrUpdate(t); session1.Flush(); var gt=session1.Get<Teacher>(); var stu = session1.Get<Student>(); return; 多对多 关系拆分 分为1和2和3三个步骤,其中BasIssuer和BasCreditRating两个都是一端各自拥有一个1对多的关系,而中间实体是多端配置有两个多对一的关系
.
<?xml version="1.0" encoding="utf-8" ?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2">
<class name="Contract.Domain.BasIssuer,BASModel" table="BAS_ISSUER">
<id name="Id" column="ISSUER_ID" unsaved-value="null">
<generator class="sequence" >
<param name="sequence">BAS_MODULE_SEQ</param>
</generator>
</id>
<property name="IssuerCode" column="ISSUER_CODE" />
<property name="IssuerName" column="ISSUER_NAME" />
<!--<property name="Region" column="REGION_ID" />-->
<property name="CreateUid" column="CREATE_UID" />
<property name="CreateUname" column="CREATE_UNAME" />
<property name="CreateOid" column="CREATE_OID" />
<property name="CreatePid" column="CREATE_PID" />
<property name="CreateDate" column="CREATE_DATE" />
<property name="LastModUid" column="LAST_MOD_UID" />
<property name="LastModUname" column="LAST_MOD_UNAME" />
<property name="LastModOid" column="LAST_MOD_OID" />
<property name="LastModPid" column="LAST_MOD_PID" />
<property name="LastModDatetime" column="LAST_MOD_DATETIME" />
<property name="Status" column="STATUS" />
<property name="IsDeleted" column="IS_DELETED"/>
<!--<property name="CreditRate" column="CREDIT_RATE" />-->
<!--<property name="CreditAgencyId" column="CREDIT_AGENCY_ID" />-->
<property name="IssuerType" column="ISSUER_TYPE" />
<!--<property name="IndustrySectorId" column="INDUSTRY_SECTOR_ID" />-->
<property name="CreatedEmployeeName" column="CREATED_EMPLOYEE_NAME" update="false"/>
<property name="CreatedEmployeeId" column="CREATED_EMPLOYEE_ID" update="false"/> <many-to-one name="Region" class="Contract.Domain.BasRegion" column="REGION_ID"/>
<many-to-one name="IndustrySector" class="Contract.Domain.BasSectorInfo" column="INDUSTRY_SECTOR_ID"/> <bag name="IssuerRating" cascade="all">
<key column="E_ID" />
<one-to-many class="Contract.Domain.RealCreditEntity,BASModel" />
</bag>
</class>
</hibernate-mapping>
.
<?xml version="1.0" encoding="utf-8" ?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2">
<class name="Contract.Domain.BasCreditRating,BasModel" table="BAS_CREDIT_RATING">
<id name="Id" type="string" column="Id" unsaved-value="null">
<generator class="sequence" >
<param name="sequence">BAS_MODULE_SEQ</param>
</generator>
</id>
<property name="CreditRatingCode" >
<column name="CREDIT_RATING_CODE">
<comment>
信用评级编码
</comment>
</column>
</property>
<property name="CreditRatingName" >
<column name="CREDIT_RATING_NAME">
<comment>
信用评级名称
</comment>
</column>
</property>
<property name="RatingTypeLookupId" >
<column name="RATING_TYPE_LOOKUP_ID">
<comment>
评级类型ID
</comment>
</column>
</property>
<!--<property name="CreditRatingAgencyId" >
<column name="CREDIT_RATING_AGENCY_ID">
<comment>
评级机构ID
</comment>
</column>
</property>-->
<property name="CreditRatingValue" >
<column name="CREDIT_RATING_VALUE">
<comment>
评级分数
</comment>
</column>
</property>
<property name="Remarks" >
<column name="REMARKS">
<comment>
备注
</comment>
</column>
</property>
<property name="CreatedBy" >
<column name="CREATED_BY">
<comment>
创建人
</comment>
</column>
</property> <property name="CreateDate" update="false">
<column name="CREATE_DATE">
<comment>
创建日期
</comment>
</column>
</property>
<property name="UpdatedBy" >
<column name="UPDATED_BY">
<comment>
更新人
</comment>
</column>
</property>
<property name="UpdateDate" >
<column name="UPDATE_DATE">
<comment>
更新日期
</comment>
</column>
</property> <property name="CreatedEmployeeName" update="false">
<column name="CREATED_EMPLOYEE_NAME">
<comment>
created_employee_name
</comment>
</column>
</property> <property name="CreatedEmployeeId" update="false">
<column name="CREATED_EMPLOYEE_ID">
<comment>
created_employee_id
</comment>
</column>
</property>
<property name="Version" >
<column name="VERSION">
<comment>
评级版本
</comment>
</column>
</property>
<property name="IsDeleted" >
<column name="IS_DELETED">
<comment>
假删除标记
</comment>
</column>
</property>
<bag name="RatingIssuer" >
<key column="C_ID" />
<one-to-many class="Contract.Domain.RealCreditEntity,BASModel" />
</bag>
<many-to-one name="CreditRatingAgency" class="Contract.Domain.BasCreditRatingAgency" column="CREDIT_RATING_AGENCY_ID"/> </class>
</hibernate-mapping>
.
<?xml version="1.0" encoding="utf-8" ?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2">
<class name="Contract.Domain.RealCreditEntity,BASModel" table="RELA_CREDIT_ENTITY">
<id name="Id" column="ID" unsaved-value="null">
<generator class="sequence" >
<param name="sequence">BAS_MODULE_SEQ</param>
</generator>
</id>
<property name="RatingDate" column="RATING_DATE" />
<many-to-one name="Issuer" class="Contract.Domain.BasIssuer" column="E_ID"/>
<many-to-one name="Rating" class="Contract.Domain.BasCreditRating" column="C_ID"/>
</class>
</hibernate-mapping>

hibernate常用关联的更多相关文章

  1. Hibernate常用接口

    Hibernate的接口类型 在了解了Hibernate的基本配置,映射文件后,道路已经铺平了.我们继续往前走.接下来,我们应该做的是了解Hibernate常用的接口,对Hibernate的工作方式进 ...

  2. Hibernate常用查询语句

    Hibernate常用查询语句 Hib的检索方式1'导航对象图检索方式.通过已经加载的对象,调用.iterator()方法可以得到order对象如果是首次执行此方法,Hib会从数据库加载关联的orde ...

  3. java:Hibernate框架1(环境搭建,Hibernate.cfg.xml中属性含义,Hibernate常用API对象,HibernteUitl,对象生命周期图,数据对象的三种状态,增删查改)

    1.环境搭建: 三个准备+7个步骤 准备1:新建项目并添加hibernate依赖的jar文件  准备2:在classpath下(src目录下)新建hibernate的配置文件:hibernate.cf ...

  4. Hibernate注解----关联映射注解以及课程总结详解----图片版本

    上一篇,记录了Hibernate注解----类级别注解以及属性注解详解 ,我们这一节主要讲解的是Hibernate注解----关联映射注解以及课程总结详解. 本节的主要内容: 第3章 关联映射注解 3 ...

  5. Hibernate的关联映射——双向1-N关联

    Hibernate的关联映射--双向1-N关联 对于1-N的关联,Hibernate推荐使用双向关联,而且不要让1的一端控制关联关系,而是用N的一端控制关联关系.双线的1-N关联和N-1关联是两种相同 ...

  6. Hibernate的关联映射——单向1-N关联

    Hibernate的关联映射--单向1-N关联 单向1-N关联的持久化类里需要使用集合属性.因为1的一端需要访问N的一端,而N的一端将以集合(Set)形式表现.从这个意义上来看,1-N(实际上还包括N ...

  7. Hibernate的关联映射——单向1-1关联

    Hibernate的关联映射--单向1-1关联 对于单向的1-1关联关系,需要在持久化类里增加代表关联实体的成员变量,并为该成员变量添加setter方法和getter方法.从持久化类的代码上看,单向1 ...

  8. Hibernate的关联映射——单向N-1关联

    Hibernate的关联映射--单向N-1关联 N-1是非常常见的关联关系,最常见的父子关系也是N-1关联,单向的N-1关联只需从N的一端可以访问1的一端. 为了让两个持久化类能够支持这种关联映射,程 ...

  9. Hibernate之关联映射(一对多和多对一映射,多对多映射)

    ~~~接着之前的Hibernate框架接着学习(上篇面试过后发现真的需要学习以下框架了,不然又被忽悠让去培训.)~~~ 1:Hibernate的关联映射,存在一对多和多对一映射,多对多映射: 1.1: ...

随机推荐

  1. html尖角提示框的实现

    <style type="text/css">        .box {            background-color: #bebf22;          ...

  2. Python自动化 【第十八篇】:JavaScript 正则表达式及Django初识

    本节内容 JavaScript 正则表达式 Django初识 正则表达式 1.定义正则表达式 /.../  用于定义正则表达式 /.../g 表示全局匹配 /.../i 表示不区分大小写 /.../m ...

  3. maven构建过程

    [转载]原地址:http://www.cnblogs.com/xdp-gacl/p/4051690.html 上一篇只是简单介绍了一下maven入门的一些相关知识,这一篇主要是体验一下Maven高度自 ...

  4. [转]在WPF中区别TextBlock和Label

    TextBlock和Label都是用来显示少量数据的.好多文章对Label存在的描述都是它允许使用"快速获取"."快速获取"就是允许你用Alt加上其它的按键快速 ...

  5. http协议get、post请求分析及用HttpRequester测试的报错及可能原因

    1.get.post区别 Get Post 获取/提交数据 主要获取数据,不修改数据 主要提交数据,可修改数据 是否需要form表单 不一定 需要 安全性 查询字符串会显示在地址栏的URL中,不安全. ...

  6. .net Session 超时控制

    webconfig里明明设置了timeout是很大的数值了,可是session的有效性仍然无法维持一小时. 查了一下,主要是说 mode="InProc" 的话,session是放 ...

  7. 在c#中把字符串转为变量名并获取变量值的小例子(转)

    public class Program { public string str = "spp"; public string spp = "Hello World!&q ...

  8. js中原型继承的三种方式

  9. ZooKeeper设置ACL权限控制

    ZK的节点有5种操作权限:CREATE.READ.WRITE.DELETE.ADMIN 也就是 增.删.改.查.管理权限,这5种权限简写为crwda(即:每个单词的首字符缩写)注:这5种权限中,del ...

  10. 常见绘图框架-(Charts)

    swift 出来后有很多优秀的第三方绘图.动画框架,最近项目需要使用了 Charts Github: https://github.com/danielgindi/Charts 因为是在Object- ...