实体类映射中,须配置一个关键字,对应着数据表的关键字,大多数的实体类也都有一个属性表示类的唯一性,在实体类配置文件(.hbm.xml)中,<id>元素的就是这个作用。

一个完整的ID配置:
<id
        name="PropertyName" --实体类中属性名,如不设置则认为没有主键
        type="typename"--属性的类型(是NHibernate中对应的类型-见第二部分)
        column="column_name" --数据表中的字段名(默认和name一致)
        unsaved-value="any|none|null|id_value"
        access="field|property|nosetter|ClassName(5)">
        <generator class="generatorClass"/>
</id>
释:其中unsaved 表示该实体类对象,是不是新增的(一般不需要配置),推荐看一下这里:  http://blog.csdn.net/chunkyo/article/details/660050

关于 <generator> 配置节:  这个节点配置可以放在 <id> 内部,配置成子节点,用来为实体类生成唯一标示。  可以通过<param> 节点配置如何初始化生成器,其中<param>应该是<generator>的子节点,如下:
<id name=">
        <generator class="NHibernate.Id.TableHiLoGenerator">
                <param name="table">uid_table</param>
                <param name="column">next_hi_value_column</param>
        </generator>
</id>

  如果不需要<param>节点配置generator,那么也可以不用<generator>节点, 直接在<id>的属性中添加 generator属性就可以,如:

<id name=" generator="native" />

那么,generator=? 这?应该配置成什么,又有哪些自带的可配置呢?

  


第三部分 关于HHibernate中关键字ID的配置的更多相关文章

  1. iOS 中使用 MJExtension 遇到 关键字(id) 怎么办

    MJExtension 是个人比较喜欢用的json 转model 的软件,当遇到系统关键字时就会出现崩溃,解决方式如下 1.建立Modle 解析类,服务返回数据中带有id,这个时候用字典转Mode(m ...

  2. Linq中关键字的作用及用法

    Linq中关键字的作用及用法 1.All:确定序列中的所有元素是否都满足条件.如果源序列中的每个元素都通过指定谓词中的测试,或者序列为空,则为 true:否则为 false. Demo: 此示例使用 ...

  3. python利用Trie(前缀树)实现搜索引擎中关键字输入提示(学习Hash Trie和Double-array Trie)

    python利用Trie(前缀树)实现搜索引擎中关键字输入提示(学习Hash Trie和Double-array Trie) 主要包括两部分内容:(1)利用python中的dict实现Trie:(2) ...

  4. C语言中关键字volatile的含义【转】

    本文转载自:http://m.jb51.net/article/37489.htm 本篇文章是对C语言中关键字volatile的含义进行了详细的分析介绍,需要的朋友参考下 volatile 的意思是“ ...

  5. 【转】MyBatis学习总结(三)——优化MyBatis配置文件中的配置

    [转]MyBatis学习总结(三)——优化MyBatis配置文件中的配置 一.连接数据库的配置单独放在一个properties文件中 之前,我们是直接将数据库的连接配置信息写在了MyBatis的con ...

  6. Spring系列(三):Spring IoC中各个注解的理解和使用

    原文链接:1. http://www.cnblogs.com/xdp-gacl/p/3495887.html       2. http://www.cnblogs.com/xiaoxi/p/5935 ...

  7. Html中,id、name、class、type的区别

    <input type="text" name="name" id="name" class="txt"> ...

  8. 解决 MySQL 比如我要拉取一个消息表中用户id为1的前10条最新数据

    我们都知道,各种主流的社交应用或者阅读应用,基本都有列表类视图,并且都有滑到底部加载更多这一功能, 对应后端就是分页拉取数据.好处不言而喻,一般来说,这些数据项都是按时间倒序排列的,用户只关心最新的动 ...

  9. Android开发教程 - 使用Data Binding(三)在Activity中的使用

    本系列目录 使用Data Binding(一)介绍 使用Data Binding(二)集成与配置 使用Data Binding(三)在Activity中的使用 使用Data Binding(四)在Fr ...

随机推荐

  1. USACO3.43Electric Fence(pick定理)

    忘记pick定理是什么了 想枚举来着 ..没枚出来 有篇pick定理的证明 貌似挺好 也没太看懂 /* ID: shangca2 LANG: C++ TASK: fence9 */ #include ...

  2. saxReader的列子

    import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.xml.sax.Attributes; import org.x ...

  3. bzoj2893

    有起点终点的限制的路径覆盖首先tarjan缩点成DAG似乎不能按照二分匹配的做法做那么建立源汇拆点i,i',这两点之间连一条下界为1上界无穷的边,其它边都是下界为0,上界正无穷然后就是有源有汇的最小流 ...

  4. -_-#Tiny Raytracer

    http://www.gabrielgambetta.com/tiny_raytracer.htmlhttp://gabrielgambetta.com/tiny_raytracer_full.js

  5. “面包屑导航”——SiteMapPath控件的使用(ASP.NET)(转)

    转自:http://www.cnblogs.com/ball-head/archive/2010/09/28/1837253.html 最近在博客里写了一些日志,主要都是我在实际编程过程中遇到的问题. ...

  6. HDU-3790 最短路径问题

    最短路径问题 Time Limit : 2000/1000ms (Java/Other)   Memory Limit : 32768/32768K (Java/Other) Total Submis ...

  7. 【转】qtp-learn

    1.计算器的例子(手动添加,将结果写到日志文件中) SystemUtil.Run "C:\WINDOWS\system32\calc.exe",""," ...

  8. JavaScript---网络编程(7)-Dom模型(节点间的层次关系,节点的增、删、改)

    利用节点间的层次关系获取节点: 上一节讲了3中获取的方式: * ※※一.绝对获取,获取元素的3种方式:-Element * 1.getElementById(): 通过标签中的id属性值获来取该标签对 ...

  9. uva 10047 the monocyle (四维bfs)

    算法指南白书 维护一个四维数组,走一步更新一步 #include<cstdio> #include<cstring> #include<queue> #includ ...

  10. [LeetCode] 234. Palindrome Linked List 解题思路

    Given a singly linked list, determine if it is a palindrome. Follow up:Could you do it in O(n) time ...