常用的Hibernate标识生成器
标识生成器名称 |
描 述 |
assigned |
OID由业务逻辑程序负责产生,Hibernate只是负责持久化,常用于映射自然主键 |
hilo |
OID由Hibernate按照high/low算法产生,该算法需要从数据库的某个表的字段中读取high值 |
increment |
OID由Hibernate依递增方式产生,该算法依赖保存于当前应用实例中的一个最大值变量,当有多个应用实例需要访问数据库时难免出现重复的主键,应当谨慎使用 |
identity |
OID由底层数据库的自增主键生成机制产生,如MySQL的auto_increment类型主键与SQL Server的identity类型主键 |
sequence |
OID由底层数据库的sequence主键生成机制产生,如Oracle sequence |
native |
根据底层数据库对自动生成OID能力的支持,具体选择identity、sequence或hilo生成器来产生OID,常用于跨平台应用 |