Hibernate 主键概述(三)

 ★native

          < id  name ="id"  type ="integer" >
             
< column  name ="id" >
             
</ column >
             
< generator  class ="native" ></ generator >
         
</ id >

1.根据不同的底层数据库,采用不同的主键生成方式。如MySQL使用Idetify方式,Oracle使用Sequence方式

2.由于hibernate会根据底层数据库采用不同的映射方式,因此便于程序移植。

3.项目中如果用到多个数据库时,可以使用native方式

 

★uuid

          < id  name ="id"  type ="string" >
             
< column  name ="id" >
             
</ column >
             
< generator  class ="uuid" ></ generator >
         
</ id >

1.能保证数据库主键值的唯一性

2.生成的主键值占用比较多的存储空间

★foreign

          < id  name ="id"  type ="Integer" >
             
< column  name ="id" >
             
</ column >
             
< generator  class ="foreign" >
                 
< param  name ="property" > student </ param >
             
</ generator >
         
</ id >

适合一对一关系

★guid

一种特殊的算法。支持SQL Server,MySQL. 在使用SQL Server时,表定义中的字段的类型指定为uniqueidentifier

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值