Hibernate关联映射 (常用集合映射)
<hibernate-mapping>
<class name="CollectionMapping" table="t_CollectionMapping">
<id name="id">
<generator class="native"/>
</id>
<property name="name"/>
<set name="setValue" table="t_set_value">
<key column="set_id"/>
<element type="string" column="set_value"/>
</set>
<list name="listValue" table="t_list_value">
<key column="list_id"/>
<list-index column="list_index"/>
<element type="string" column="list_value"/>
</list>
<array name="arrayValue" table="t_array_value">
<key column="array_id"/>
<list-index column="array_index"/>
<element type="string" column="array_value"/>
</array>
<map name="mapValue" table="t_map_value">
<key column="map_id"/>
<map-key type="string" column="map_key"/>
<element type="string" column="map_value"/>
</map>
</class>
</hibernate-mapping>
映射成的表结构如下:
t_CollectionMapping
id | name |
1 | xxx |
t_set_values
set_id (参照t_CollectionMapping的id) | set_value |
1 | a |
1 | b |
t_list_value
list_id (参照t_CollectionMapping的id) | list_value | list_index |
1 | c | 0 |
1 | d | 1 |
t_array_value
array_id (参照t_CollectionMapping的id) | array_value | array_index |
1 | e | 0 |
1 | f | 1 |
t_map_value
map_id (参照t_CollectionMapping的id) | map_key | map_value |
1 | k1 | v1 |
1 | k2 | v2 |