码迷,mamicode.com
首页 > Web开发 > 详细

Hibernate的几种主键生成策略

时间:2015-10-30 18:38:26      阅读:229      评论:0      收藏:0      [点我收藏+]

标签:

主键类型:
  业务主键(natural key):业务主键的值是来源于一个业务数据。
  代理主键(surrogate key):代理主键需要采用一种方式来生成某个唯一值。

代理主键的生成策略:
  1、hibernate的主键生成策略只能用于代理主键
  2、不同的主键生成策略需要的内容也是不同。

Hibernate的主键生成策略:

  1、assigned:由应用程序负责生成主键标识符,通常使用在数据库中没有代理主键,使用的主键与业务相关的情况,即使用的是业务主键。这种主键的生成方式不建议使用,在数据库表设计时就应该使用代理主键,不应使用业务主键。在没有指定标签时,默认就是assigned主键的生成方式。  在插入数据的时候主键由用户自己生成,Hibernate不负责生成主键。

<id name="userid" type="java.lang.Long">
    <column name="USERID" precision="22" scale="0" />
    <generator class="assigned" />
</id>

  2、identity:适用于MySQL、DB2、MS SQL Server,采用数据库生成的主键,用于为long、short、int类型生成唯一标识 
使用SQL Server 和 MySQL 的自增字段,这个方法不能放到 Oracle 中,Oracle 不支持自增字段。

Hibernate的几种主键生成策略

标签:

原文地址:http://www.cnblogs.com/zhoujingyu/p/4923967.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!