【Hibernate】Hibernate对象标识符生成策略

来源:互联网 发布:网页代码优化 编辑:程序博客网 时间:2024/06/06 17:59

increment:由Hibernate自动以递增的方式生成标识符,适用于代理主键;

identity:由底层数据库生成标识符,适用于代理主键;(Oracle不适用)

sequcence:由Hibernate根据底层数据库的序列生成标识符,适用于代理主键;(MySQL、SQLServer、Sybase不适用)

hilo:由Hibernate根据high/low算法生成标识符,适用于代理主键;

native:根据底层数据库对自动生成标识符的支持能力,来选择identity/sequcence/hilo,适用于代理主键。

uuid: 全球唯一,长度大,占用空间大,跨数据库,不用访问数据库就生成主键值,所以效率高且能保证唯一性,移植非常方便


使用increment生成的表是没使用auto increment的,而使用identity或native生成的表就使用了auto increment。


increment:



identity:



sequence:


hilo:








0 0