在创建对象-关系映射文件时,不能使用<property>元素来映射Person类的homeaddress属性,而要使用<component>元素,代码如下:
<component name="homeAddress" class="com.howlaa.Address">
<parent name="person"/>
<property name="street" type="string" column="home_street"/>
...
</component>
<component>元素表明homeAddress属性是Person类的一个组成部分,在hibernate中称为组件,<component>中包含一个<parent>子元素,指定Address类所属的整体类。与此对应,在Address类中应该定义一个person属性。<property>子元素用来配置组件类的属性和表中字段的映射。