普通属性的映射 <property name="" type="" column="" length="" not-null="">
主键映射<id name="" ...>, <generater class="">, 代理主键
组成关系映射 <component ...>
<property name="province"></property>
<property name="street"></property>
private Integer id;
private String username;
private Address address;
集合映射
Set, List, Map, 数组, Bag(无序,可以重复)
它们均需要创建第二张表,所以在配置中必须要写外键,另外由于list和数组需要索引,它们需要配置一个索引,生成表后此索引则成了主键,而map则需要key,也需配置一个map-key属性,具体如下:
<set name="addressSet" table="user_addressSet" order-by="address DESC">
<key column="userId" />
<element column="address" type="string"></element>
</set>
<!-- addressList属性,List集合 -->
<list name="addressList" table="user_addressList">
<key column="userId"></key>
<list-index column="idx"></list-index>
<element column="address" type="string"></element>
</list>
<!-- addressMap属性,Map集合 -->
<map name="addressMap" table="user_addressMap">
<key column="userId"></key>
<map-key column="key_" type="string"></map-key>
<element column="address" type="string"></element>
</map>
<!-- addressArray属性,数组类型 -->
<array name="addressArray" table="user_addressArray">
<key column="userId" />
<list-index column="idx"></list-index>
<element column="address" type="string"></element>
</array>
<!-- addressBag属性,Bag类型(Hibernate中的类型) -->
<bag name="addressBag" table="user_addressBag">
<key column="userId"></key>
<element column="address" type="string"></element>
</bag>
配置解释:如Set集合映射 table:集合表的名称