属性 | 属性 | 类型 | 必须 |
name | 映射属性 | Text | N |
class | 目标映射类。 注意要设为包含Package name的全路 径名称。 | Text | N |
cascade | 操作级联(cascade)关系。 可选值: all : 所有情况下均进行级联操作。 none:所有情况下均不进行级联操作。 save-update:在执行save-update时 进行级联操作。 delete:在执行delete时进行级联操作。 级联(cascade)在Hibernate映射关 系中是个非常重要的概念。它指的是当主 控方执行操作时,关联对象(被动方)是 否同步执行同一操作。如对主控对象调用 save-update或delete方法时,是否同 时对关联对象(被动方)进行 save-update或delete。 这里,当用户(TUser)被更新或者删除 时,其所关联的组(TGroup)不应被修 改或者删除,因此,这里的级联关系设置 为none。 | Text | N |
constrained | 约束 表明主控表的主键上是否存在一个外键 (foreign key)对其进行约束。这个选 项关系到save、delete等方法的级联操 作顺序。 | Bool | N |
outer-join | 是否使用外联接。 true:总是使用outer-join false:不使用outer-join auto(默认) :如果关联对象没有采用 Proxy机制,则使用outer-join. | Text | N |
property-ref | 关联类中用于与主控类相关联的属性名 称。 默认为关联类的主键属性名。 这里我们通过主键达成一对一的关联,所 以采用默认值即可。如果一对一的关联并 非建立在主键之间,则可通过此参数指定 关联属性。 | Text | N |
access | 属性值的读取方式。 可选项: field property(默认) ClassName | Text | N |
例如:
<hibernate-mapping>
<class
name="org.hibernate.sample.TUser"
table="t_user"
dynamic-update="true"
dynamic-insert="true"
>
……
<one-to-one
name="group"
class="org.hibernate.sample.TGroup"
cascade="none"
outer-join="auto"
constrained="false"
/>
……
</class>
</hibernate-mapping>