1. Component映射
当对象中聚合了其他的对象的时候,就需要用到Component映射,映射方式在配置文件中添加类似下面的代码
<component name="email" class="onlyfun.caterpillar.Email">
<property name="address" type="string" column="ADDRESS" not-null="true"/>
</component>
其中email是被对象包含的对象,class后面是email的类路径< property ></ property >标签中声明了email类中的成员变量。
2. Set映射
当对象中包含了Set类型的数据的时候就需要用到Set映射,映射方式在配置文件中添加类似下面的代码
<set name="addrs" table="ADDRS">
<key column="USER_ID"/>
<element type="string" column="ADDRESS" not-null="true"/>
</set>
整个集合对象在数据库中是用一个表存储的,例如上面所举例子,在数据库中对应的表是ADDRS其中具有字段USER_ID和ADDRESS
3. List映射
当对象中包含了List类型的数据的时候就需要用到List映射,映射方式在配置文件中添加类似下面的代码
<list name="files" table="FILES">
<key column="USER_ID"/>
<index column="POSITION"/>
<element type="string" column="FILENAME" not-null="true"/>
</list>
配置文件中除了POSITION存储的是元素在list中的位置外,其他意思同Set映射中配置文件的意思相同,具体的不同点就是Set是一个无重复元素的集合而List可以具有重复元素。
4. Map映射
当对象中包含了Map类型的数据的时候就需要用到Map映射,映射方式在配置文件中添加类似下面的代码
<map name="files" table="FILES">
<key column="USER_ID"/>
<index column="DESCRIPTION" type="string"/>
<element type="string" column="FILENAME" not-null="true"/>
</map>
配置文件中除了DESCRIPTION存储的是元素在Map中的索引外,其他意思同Set和List映射中配置文件的意思相同。