hibernate.hbm.xml配置详解

  • 格式:doc
  • 大小:86.00 KB
  • 文档页数:8

下载文档原格式

  / 21
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Hibernate中hbm.xml配置说明。

在Hibernate中,各表的映射文件….hbm.xml可以通过工具生成,例如在使用MyEclipse开发时,它提供了自动生成映射文件的工具。配置文件的基本结构如下:

Xml代码

1

2

3

4"-//Hibernate/Hibernate Mapping DTD 3.0//EN"

5"/hibernate-mapping-3.0.dtd">

6

7

8

9

10

11

12……

13

14

1. 主键(id)

Hibernate的主键生成策略有如下几种:

1) assigned

主键由外部程序负责生成,在save() 之前指定。

2) hilo

通过hi/lo 算法实现的主键生成机制,需要额外的数据库表或字段提供高位值来源。

3) seqhilo

与hilo 类似,通过hi/lo 算法实现的主键生成机制,需要数据库中的Sequence,适用于支持Sequence 的数据库,如Oracle。

4) increment

主键按数值顺序递增。此方式的实现机制为在当前应用实例中维持一个变量,以保存着当前的最大值,之后每次需要生成主键的时候将此值加1作为主键。这种方式可能产生的问题是:不能在集群下使用。

5) identity

采用数据库提供的主键生成机制。如DB2、SQL Server、MySQL 中的主键生成机制。

6) sequence

采用数据库提供的sequence 机制生成主键。如Oralce 中的Sequence。

7) native

由Hibernate 根据使用的数据库自行判断采用identity、hilo、sequence 其中一种作为主键生成方式。

8) uuid.hex

由Hibernate 基于128 位UUID 算法生成16 进制数值(编码后以长度32 的字符串表示)

作为主键。

9) uuid.string

与uuid.hex 类似,只是生成的主键未进行编码(长度16),不能应用在PostgreSQL 数据中。

10) foreign

使用另外一个相关联的对象的标识符作为主键。

主键配置举例如下:

Xml代码

15

16

17

另外还可以扩展Hibernate的类来做自己的主键生成策略,具体例子见:/topic/93391。

2. 普通属性(property)

开发人员可以打开网址:/hibernate-mapping-3.0.dtd

来查看hibernate3.0的dtd信息,可看到property的定义如下:

Xml代码

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

它的各属性中比较常用的有:name(对应的java类的属性名称)、column(对应的表中的字段)、type(属性的类型,ng.String)、not-null(设置该属性是否为空,为true时表