Hibernate学习笔记-ID生成策略

1. xml生成id

a) generator

native">

b) 常用四个:

(*)native:selects identitysequence or hilo depending upon the capabilities of the underlying database.(用native就可以让hibernate自动选择生成方式)

 identity :对DB2,MySQL, MS SQL Server, Sybase和HypersonicSQL的内置标识字段提供支持。 返回的标识符是long,short 或者int类型的。

sequence :在DB2,PostgreSQL, Oracle, SAP DB, McKoi中使用序列(sequence), 而在Interbase中使用生成器(generator)。返回的标识符是longshort或者 int类型的。

uuid:uses a 128-bit UUID algorithm to generate identifiers of type string that are unique within a network (the IP address is used). The UUID is encoded as a string of 32 hexadecimal digits in length.(独一无二的编码)


2.注解方式:@GeneratedValue

a) AUTO(直接写 @GeneratedValue 相当如native)

 (@GeneratedValue(strategy=GenerationType.AUTO))

i. 默认:对 MySQL,使用auto_increment

ii. 对 Oracle使用hibernate_sequence(名称固定)

b) IDENTITY(@GeneratedValue(strategy=GenerationType.IDENTITY))

c) SEQUENCE(@GeneratedValue(strategy=GenerationType.SEQUENCE))

例:


Hibernate学习笔记-ID生成策略_第1张图片








你可能感兴趣的:(hibernate,id生成)