码迷,mamicode.com
首页 > Web开发 > 详细

第三部分 关于HHibernate中关键字ID的配置

时间:2016-04-10 12:42:38      阅读:171      评论:0      收藏:0      [点我收藏+]

标签:

  实体类映射中,配置一个关键字,对应着数据表的关键字,大多数的实体类也都有一个属性表示类的唯一性,在实体类配置文件(.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="Id" type="Int64" column="uid" unsaved-value="0">
        <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="Id" type="Int64" column="uid" unsaved-value="0" generator="native" />

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

技术分享

  

 

 

 

 

 

 

 

 




第三部分 关于HHibernate中关键字ID的配置

标签:

原文地址:http://www.cnblogs.com/wangdy/p/5373681.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!