Hibernate主键

1、选择主键
备选的键是能够用来识别表中一个特定行的一列或者一组列。要变成主键,备选键必须满足下列属性:
1)它的值(对于备选键的任意列而言)永远不为空。
2)每一行都有唯一的值。
3)一个特定行的值永远不变。
2、选择键生成器
Hibernate有几个内建的标识符生成策略。
生成器名称:native
选项:无
生成器描述:native同一性生成器挑选其他同一性生成器,如identity、sequence或者hilo,取决于底层数据库的能力。使用这个生成器保证映射元数据可以移植到不同的数据库管理系统。
生成器名称:identity
选项:无
生成器描述:这个生成器支持DB2、MySQL、MS SQL Server、Sybase和HypersonicSQL中的同一性列。返回的标识符类型为long、short或者int
生成器名称:sequence
选项:sequence,parameters
生成器描述:这个生成器在DB2、PostgreSQL、Oracle、SAPDB或者Mckoi中创建一个序列;或者使用InterBase中的一个生成器。返回的标识符类型为long、short或者int。如果创建序列的其他设置要被添加到DDL,就使用sequence选项给序列定义一个目录名称(默认是hibernate_sequence)和parameters。
生成器名称:increment
选项:无
生成器描述:Hibernate启动时,这个生成器读取表的最大(数字)主键列值,并且每次插入一个新行时值就增加1。生成的标识符类型为long、short或者int。如果单服务器的Hibernate应用程序对数据库具有排它性访问时,这个生成器特别有效,但不应该被用于任何其他场合。
生成器名称:hilo
选项:table,column,max_lo
生成器描述:高/低位算法是生成long类型标识符的一种高效的方法,给定表和列(默认时,分别为hibernate_unique_key和next)作为高值源。高/低位算法生成仅对特定数据库唯一的标识符。这个生成器每次获取高值时总要使用一个单独的数据库连接,因此它不受用户提供的数据库连接支持。换句话说。别把它与sessionFactory.openSession(myConnection)共用。
生成器名称:seqhilo
选项:sequence,parameters,max_lo
生成器描述:这个生成器的作用就像一般的hilo生成器,除了它使用一个具名的数据库序列来生成高值之外。
生成器名称:uuid
选项:separator
生成器描述:这个生成器是一个128位的UUID(生成String类型的标识符的一种算法,在网络内部唯一)。IP地址与一个唯一的时间戳结合使用。
生成器名称:guid
选项:无
生成器描述:这个生成器在MySQL和SQL服务器中提供一个数据库生成的全局唯一的标识符字符串。
生成器名称:select
选项:key
生成器描述:这个生成器获取由数据库触发器分配的一个主键,它按某些唯一键选择行并获取主键值。这个策略需要另一个唯一的备选键列,且key选项必须被设置成唯一键列的名称。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值