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

hibernate 主键生成策略有
1、序列 sequence
   只能在oracle 和 DB2中使用
  
     //使用数据库的sequence机制。
    
    

   

2、自增 identity
   智能在sqlserver 和 mysql 中使用,同时建表的时候,设置列 为 auto increment。
 
     //采用数据库提供的主键生成机制,如MySql、DB2、SqlServer的自增主键。
   

3、通用 native
   mysql 就用不了了
这个oracle中必须创建一个名字为 hibernate_sequence的序列。

     //由Hibernate根据底层数据库定义自行判断采用identity、hilo、sequence其中一种作为主键生成方式。
   

4、foreign
   智能在sqlserver 和 mysql 中使用,同时建表的时候,设置列 为 auto increment。
 
     //使用外部表的字段作为主键。
   

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

你可能感兴趣的:(java)