hibernate hbm.xml 配置文件中的主键生成策略

来源:互联网 发布:河南省大数据谷是哪里 编辑:程序博客网 时间:2024/06/05 00:41

hibernate 主键生成策略有
1、序列 sequence
   只能在oracle 和 DB2中使用
   <id name="id" column="id">
     <generator class="sequence">//使用数据库的sequence机制。
     <param name="在数据库中创建的sequence名字"/>
     </generator>
    </id>
2、自增 identity
   智能在sqlserver 和 mysql 中使用,同时建表的时候,设置列 为 auto increment。
 <id name="id" column="id">
     <generator class="identity"/>//采用数据库提供的主键生成机制,如MySql、DB2、SqlServer的自增主键。
    </id>
3、通用 native
   mysql 就用不了了
这个oracle中必须创建一个名字为 hibernate_sequence的序列。
<id name="id" column="id">
     <generator class="native"/>//由Hibernate根据底层数据库定义自行判断采用identity、hilo、sequence其中一种作为主键生成方式。
    </id>
4、foreign
   智能在sqlserver 和 mysql 中使用,同时建表的时候,设置列 为 auto increment。
 <id name="id" column="id">
     <generator class="foreign"/>//使用外部表的字段作为主键。
    </id>

5、increment 生成策略:当 Hibernate 准备在数据库表中插入一条新记录时,首先从数据库表中获取当
前主键字段的最大值,然后在最大值基础上加 1,作为当前持久化对象的标识符属性值。这种策略即
increment 生成策略,用其生成的标识符属性的类型可以是 long、short、int 及其封装类的类型

原创粉丝点击