持久对象的生命周期及映射文件配置.doc
文本预览下载声明
Hibernate
Hibernate基本映射标签和属性介绍
一、映射文件的基本结构举例:
?xml version=1.0?
!DOCTYPE hibernate-mapping PUBLIC
-//Hibernate/Hibernate Mapping DTD 3.0//EN
/hibernate-mapping-3.0.dtd
hibernate-mapping
!--
class标签 实体类映射到数据表
* name属性:实体类的完整路径
* table属性:实体类映射到数据库中的表名,如果省略,则为实体类的类名称
--
class name=com..hibernate.User
!-- 映射数据库主键 映射到数据表中的字段名默认为类属性名,但可以利用column重新指定--
id name=id column=id
!-- generator设置主键生成策略
uuid:一万年内生成唯一的字符串
--
generator class=uuid/
/id
!-- property 映射普通属性 映射到数据表中的字段名默认为类属性名,但可以利用column重新指定--
property name=name column=name/
property name=password/
property name=createTime/!--Hibernate会自动根据实体类属性类型生成数据库表中字段类型 --
property name=expireTime/
/class
/hibernate-mappingschema和catalog属性, 指明了这个映射所连接(refer)的表所在的schema和/或catalog名称。 假若指定了这个属性,表名会加上所指定的schema和catalog的名字扩展为全限定名。假若没有指定,表名就不会使用全限定名。 default-cascade指定了未明确注明cascade属性的Java属性和 集合类Hibernate会采取什么样的默认级联风格。auto-import属性默认让我们在查询语言中可以使用 非全限定名的类名。
hibernate-mapping
schema=schemaName (1)
catalog=catalogName (2)
default-cascade=cascade_style (3)
default-access=field|property|ClassName (4)
default-lazy=true|false (5)
auto-import=true|false (6)
package= (7)
/
(1) schema (可选): 数据库schema的名称。
(2) catalog (可选): 数据库catalog的名称。
(3) default-cascade (可选 - 默认为 none): 默认的级联风格。
(4) default-access (可选 - 默认为 property): Hibernate用来访问所有属性的策略。可以通过实现PropertyAccessor接口 自定义。
(5) default-lazy (可选 - 默认为 true): 指定了未明确注明lazy属性的Java属性和集合类, Hibernate会采取什么样的默认加载风格。
(6) auto-import (可选 - 默认为 true): 指定我们是否可以在查询语言中使用非全限定的类名(仅限于本映射文件中的类)。
(7) package (可选): 指定一个包前缀,如果在映射文档中没有指定全限定的类名, 就使用这个作为包名。
你可以使用class元素来定义一个持久化类:
class
name=ClassName (1)
table=tableName (2)
discriminator-value=discriminator_value (3)
mutable=true|false
显示全部