Hibernate ID生成策略

ID生成策略

1. Xxx.hbm.xml配置文件中

   在id标签内使用generator标签

203606_EoGz_2601381.png 

   常用有四种:nativeidentity,sequence, uuid

 

native 策略:

oracle中用的是sequence (hibernate_sequence  固定名称)

mysql中是auto_increment

SqlServer中用的是identity

Identity策略:

DB2,MySql,SqlServer中使用的自动递增的字段,(oracle不支持

uuid策略:

全局唯一的id 

 

2. Annotation 中:

在id的注解下面加一个@GeneratedValue(注意是javax.persistence)

134132_j9s8_2601381.png 

   四种策略:

1. 默认的是AUTO  (相当于xml配置文件中的native)

2.identity  (oracle数据库不支持)

@GeneratedValue(strategy=GenerationType.IDENTITY)

3.sequence 可以指定生成sequence的名字

4.table (使用任何数据库)

@javax.persistence.TableGenerator(

name = "EMP_GEN",   //表名

pkColumnName = "pk_key",   //第一个字段的名字,可以指定

valueColumnName = "pk_value", //第二个字段的名字,可以指定

pkColumnValue = "", //  value字段的值

allocationSize=1 //步长

 

)

3. 联合主键

 

转载于:https://my.oschina.net/u/2601381/blog/686589

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值