<?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. sql2008r2-vs2013安装下载

    vs2013链接:http://www.cnblogs.com/wuyepiaoxue/p/5661174.html sql2008r2链接:http://download.microsoft.com ...

  2. zt:synpify 综合,保持信号,时序处理

    http://www.actel.com/kb/article.aspx?id=TT1002 Logic Replication vs. Preserve Attributes in Synplici ...

  3. begin-end语句块在mysql中的使用问题

    在最近在通过navicate连接mysql数据库时,进行查询操作: delimiter $$BEGIN SET @a=1; if (@a > 0) THEN SELECT COUNT(*) fr ...

  4. SQL事务

    一.事务概念    事务是一种机制.是一种操作序列,它包含了一组数据库操作命令,这组命令要么全部执行,要么全部不执行.因此事务是一个不可分割的工作逻辑单元.在数据库系统上执行并发操作时事务是作为最小的 ...

  5. Java编写最大公约数和最小公倍数

    package javaapplication24; class NegativeIntegerException extends Exception{ String message; public ...

  6. linux 学习 13 系统管理

    第十三讲 Linux系统管理 13.1.1进程管理-进程查看 13.1.2进程管理-终止进程 .2工作管理 .3系统资源查看 .4系统定时任务 13.1.1进程管理-进程查看 .进程简介 进程是正在 ...

  7. 关于C#程序无故退出

    今天我发现一种情况,分享下 我一个对象是用多线程写的代码,主程序调用完后有时候也会退出,catch不到.我在原对象的接口里面加上lock之后就ok了!我的理解是该对象申请的资源没释放完毕,加lock后 ...

  8. matlab struct结构体用法

    结构体的赋值: 结构体的赋值,这里不建议用下面这种形式进行统一赋值, s = sturct('field1',values1,'field2',values2,-) 而是建议直接赋值,就是对每一个属性 ...

  9. CSS的clip-path 一

    首先介绍一下,我觉得前端开发都是很具有分享精神的,很多人都写出了很多优秀的总结经验供新手们参考,本人只是个搬运工,将别人优秀的文章进行了总结,本文主要转载自  大漠  的文章  http://www. ...

  10. JSP开发模式1(简单注册功能)

    ———————————————————————————————————————————————— import java.util.regex.Matcher;import java.util.reg ...