<hibernate-mapping package="com.gss.entities"> <class name="CollectionMapping" table="T_Collection_Mapping"> <id name="id"> <generator class="uuid"></generator> </id> <property name="info"></property> <!-- key是集合表中引用T_Collection_Mapping表的外键,建立两表的关系 <element>节点是用来表示集合真正存放数据的地方,每个集合映射都必须又element节点 --> <set name="set" table="T_SET"> <key column="set_id"></key> <element type="string" column="set_value"></element> </set> <list name="list" table="T_LIST"> <key column="list_id"></key> <!-- set是无序的,因此最简单,一个key与主表关联,一个element存放数据就可以了 list是有序的,因此必须有list-index节点来记录存储顺序 --> <list-index column="list_index"></list-index> <element type="string" column="list_value"></element> </list> <!-- 数组与list结构相同 --> <array name="strArray" table="T_ARRAY"> <key column="array_id"></key> <list-index column="array_index"></list-index> <element type="string" column="array_value"></element> </array> <map name="map" table="T_MAP"> <key column="map_id"></key> <map-key type="string" column="map_key"></map-key> <element type="string" column="map_value"></element> </map> </class> </hibernate-mapping>