关闭

Hibernate学习笔记-ID生成策略

标签: hibernateid生成
246人阅读 评论(0) 收藏 举报
分类:

1. xml生成id

a) generator

<id name="id" >

<generator class="native"></generator>

</id>

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))

例:










0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:3831次
    • 积分:253
    • 等级:
    • 排名:千里之外
    • 原创:21篇
    • 转载:7篇
    • 译文:0篇
    • 评论:0条