接下来说说其中几个标识符生成器的适用范围:
(1)increment:(实际开发不推荐使用)
——由于increment生成标识符机制不依赖底层数据库,所以它适合所有的数据库系统
——适用于只有单个Hibernate应用进程访问同一个数据库的场合,在集群环境下不使用它
——OID必须为long、int、short,不然运行时会抛出异常
(2) identity:
——由于identity生成标识符的机制依赖于底层数据库,所以要求底层数据库必须支持自动增长字段类型
(支持自增字段类型的数据库有:DB2、MYSQL、MSMSQLServer...等)
——OID必须为long、int、short,不然运行时会抛出异常
(3)sequence:
——由于sequence生成标识符的机制依赖于底层数据库的序列,所以要求底层数据库必须支持序列
(支持序列的数据库有:DB2、Oracle 等)
——OID必须为long、int、short,不然运行时会抛出异常
(4) hilo :
——由于increment生成标识符机制不依赖底层数据库,所以它适合所有的数据库系统
——OID必须为long、int、short,不然运行时会抛出异常
(5) native :(实际开发最常用)
——native能根据底层数据库系统的类型,自动选择合适的标识符生成器,因此很适合跨数据库平台开发
——OID必须为long、int、short,不然运行时会抛出异常