1. Doctype
所有的XML映射都需要定义如上所示的doctype。DTD可以从上述URL中获取,也可以从hibernate-x.x.x/src/net/sf
/hibernate目录中、或hibernate.jar文件中找到。Hibernate总是会首先在它的classptah中搜索DTD文件。如果你
发现它是通过连接Internet查找DTD文件,就对照你的classpath目录检查XML文件里的DTD声明。
2. hibernate-mapping
这个元素包括一些可选的属性。schema和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="package.name" (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 (可选): 指定一个包前缀,如果在映射文档中没有指定全限定的类名,就使用这个作为包名。
5.1.3. class
你可以使用class元素来定义一个持久化类:
<class
name="ClassName" (1)
table="tableName" (2)
discriminator-value="discriminator_value" (3)
mutable="true|false" (4)
schema="owner" (5)
catalog="catalog" (6)
proxy="ProxyInterface" (7)
dynamic-update="true|false" (8)
|