zoukankan      html  css  js  c++  java
  • NHibernate处理OneToMany映射

    HasMany和BelongsTo属性说明

      HasMany属性:此属性用于代替NHibernate配置文件中的<many-to-one>标签;该属性用在"一"的类中(父对象,本文为User类),指出与"多"的类(级联对象,本文为Address类)的对应关系.具有以下几个主要子属性:

      1.Type:指出关联对象的类名,相当于<many-to-one>标签中的class属性;

      2.Table:指出关联对象的类对应的数据表(本文的数据表Address);

    3.ColumnKey:指出关联对象对应的数据表中指向主类数据表的字段名(本文数据表Address中的字段uID);

      4.Cascade:指明哪些操作会从父对象级联到关联的对象,相当于<many-to-one>标签中的cascade属性.该属性值应为CascadeEnum枚举值之一:

      a).All:表示父对象的任何操作都会关联到级联对象;

      b).Delete:表示只有对父对象进行删除操作时才会关联到级联对象;

      c).SaveUpdate:表示只有对父对象进行保存、更新操作时才会关联到级联对象;

      d).None(默认值):表示对父对象的任何操作都不会关联到级联对象;

      5.Lazy:指出是否延迟加载级联对象,其属性值为true或false,二者选一;

      6.Where:指定一个附加SQL的Where子句,这里应该写HQL语句;

      7.OrderBy:指定排序方式,这里应该写HQL语句;

      8.Inverse:指定父对象是否级联到子对象;

      BelongsTo属性:此属性用于代替NHibernate配置文件中表示<map>、<set>、<list>、<bag>之类的标签;该属性用在父对象中,指出与级联对象的对应关系.具有以下几个主要子属性:

      1.Cascad:指出是否级联操作,其值于HasMany属性中的Cascade属性一样;

      2.Column:指出数据表中指向父对象数据表的字段名;

      3.Insert:是否允许插入;

      4.Update:是否允许更新;

      5.OuterJoin:是否允许外联抓取,相当于<many-to-one>标签中的outerjoin属性,其值应为OuterJoinEnum枚举值之一:

      a).Auto(默认值):使用外连接抓取关联(对象),如果被关联的对象没有代理(proxy) ;

      b).True:一直使用外连接来抓取关联;

      c).False:永远不使用外连接来抓取关联;  

  • 相关阅读:
    javascript Ajax类
    C# 使注册表修改后立即生效
    MSSQL:创建临时表并赋值
    sql语句创建[表][列]带描述
    flash调用js中的方法,让js传递变量给flash (兼容 IE & FF)
    SQL中日期转换方法大全
    MSSQL:表变量的声明和赋值
    各种编程方面的CHM参考帮助手册(ADO参考手册、JavaScript参考手册、DHTML参考手册、TransactSQL参考手册、等等)
    vim命令的使用技巧
    Linux 如何启动mail邮件服务
  • 原文地址:https://www.cnblogs.com/lizhao/p/1990440.html
Copyright © 2011-2022 走看看