这个元素包括四个可选的属性。schema属性,指明了这个映射所引用的表所在的schema名称。假若指定了这个属性,表名会加上所指定的schema的名字扩展为全限定名。假若没有指定,表名就不会使用全限定名。default-cascade指定了未明确注明cascade属性的属性和集合类会采取什么样的默认级联风格。auto-import属性默认让我们在查询语言中可以使用非全限定名的类名。default-access告诉我们怎么访问属性值。
<hibernate-mapping
schema="schemaName" (1)
default-cascade="none|save-update" (2)
auto-import="true|false" (3)
default-access="property|field|nosetter|ClassName" (4)
assembly="assembly.name" (5)
namespace="namespace.name" (6)
>
(1) schema (可选): 数据库schema名称.
(2) default-cascade (可选 - 默认为 none): 默认的级联风格.
(3) auto-import (可选 - 默认为 true): 指定是否我们可以在查询语言中使用非全限定的类名(仅限于本映射文件中的类)。
(4) default-access (可选 - 默认为 property): NHibernate访问属性值时的策略。
(5) assembly (可选): 指定一个程序集,如果在映射文档中没有指定程序集,就使用这个程序集。
(6) namespace (可选): 指定一个命名空间前缀,如果在映射文档中没有指定全限定名,就使用这个命名空间名。
假若你有两个持久化类,它们的非全限定名是一样的(就是在不同的命名空间里面--译者注),你应该设置auto-import="false"。假若说你把一个“import过”的名字同时对应两个类, NHibernate会抛出一个异常。
顶部