Hibernate提供的几种内置标识符生成器

Hibernate提供的几种内置标识符生成器

标识符生成器

   

increment

适用于代理主键。由Hibernate以自增的方式生成,增量为1

identity

适用于代理主键。由底层数据库生成,前提是底层数据库支持自增字段类型

续表

标识符生成器

   

sequence

适用于代理主键。Hibernate根据底层数据库的序列生成,前提条件是底层数据库支持序列

hilo

适用于代理主键。Hibernate根据high/low算法生成,Hibernate把特定表的字段作为“heigh”值,在默认的情况下选用hibernate_unique_key表的next_hi字段

native

适用于代理主键。根据底层数据库对自动生成标识符的支持能力,选择identitysequencehilo

uuid.hex

适用于代理主键。Hibernate采用128位的UUIDUniversal Unique Identitication)算法生成,UUID算法能够在网络环境生成惟一的字符串标识符,不推荐使用,因为字符串型要比整型占用更多的数据库空间

assigned

适用于自然主键。由Java应用程序负责生成,此时不能把setId()方法声明为private类型,不推荐使用

<property>子元素用于设定类的属性和表字段的映射,该元素主要包括namecolumntypenot-null属性。

  ● name属性

name属性用于指定持久化类的属性名。

  ● column属性

column属性用于指定与类属性映射的表的字段名。

  ● type属性

type属性用于指定Hibernate映射类型。Hibernate映射类型是Java类型与SQL类型的桥梁,三者之间的对应关系如表2.3所示。

 Java类型、Hibernate映射类型、SQL类型3者之间的对应关系

Java属性类型

Hibernate映射类型

SQL类型

String

string

varchar()

String

text

text

int

int

int

char

character

char()

boolean

boolean

bit

byte[]

binary

blob

java.sql.Date

date

date

java.sql.Timestamp

timestamp

timestamp

  

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值