首页 > 技术文章 > Hibernate 知识提高

brucetie 2014-03-14 17:47 原文

主键生成策略有:

 

UUID,increment、Hilo、assigned:对数据库无依赖

identity:依赖Mysql或sql server,主键值不由hibernate维护

sequence:适合于oracle等支持序列的dbms,主键值不由hibernate维护,由序列产生。

native:根据底层数据库的具体特性自动选择适合的主键生成策略,如果是mysql或sqlserver,选择identity,如果是oracle,选择sequence。

assigned  是在save 之前手动设置主键值,不建议使用。

increment   由hibernate 维护,但是不适合于2个或以上hibernate进程。(同一个项目部署在两个服务器上)

 

一般来说推荐UUID,因为生成主键唯一,且对数据库无依赖,可移植性强。

推荐阅读