我们目前已经见到过<key>元素多次了。 这个元素在父映射元素定义了对新表的连接,并且在被连接表中定义了一个外键引用原表的主键的情况下经常使用。
<key>
<key column="columnname" on-delete="noaction|cascade" property-ref="propertyName" not-null="true|false" update="true|false" unique="true|false" />
column
<column>
on-delete
noaction
property-ref
not-null
update
unique
对那些看重删除性能的系统,我们推荐所有的键都应该定义为on-delete="cascade",这样 Hibernate 将使用数据库级的ON CASCADE DELETE约束,而不是多个DELETE语句。 注意,这个特性会绕过 Hibernate 通常对版本数据(versioned data)采用的乐观锁策略。
on-delete="cascade"
ON CASCADE DELETE
DELETE
not-null 和 update 属性在映射单向一对多关联的时候有用。如果你映射一个单向一对多关联到非空的(non-nullable)外键,你必须 用<key not-null="true">定义此键字段。
<key not-null="true">