hibernate集合映射

来源:互联网 发布:简单python脚本实例 编辑:程序博客网 时间:2024/05/21 07:03
(1)java集合类
        Collection<E>:集合类最基本的接口
        Set<E>:无序不重复  HashSet
        List<E>:有序可重复

        Map<K,V>:键可重复,值不可重复

(2)

A.Set

<set name=”employees” ><key column=”depart_id”/><one-to-many class=”Employee”/></set>

B.List

<list name=”employees” ><key column=”depart_id”/><!—表中有单独的整型列表示list-index -><list-index column=”order_column”/><one-to-many class=”Employee”/></list>
key:用于指定该集合体的外键
list-index:用于定义数据库中保存集合中元素的索引值的列,索引从0开始以1递增


C.Bag(无序可重复)

<bag name="employees " order-by="id desc"><key column=”depart_id”/><one-to-many class=”Employee”/></bag>
注意:映射文件中bag和domain中的list是对应的


D.Map

<map name="employees "><key column=”depart_id”/><map-key type="string" column="name"/><one-to-many class=”Employee”/></map> 
map-key:用来映射键对象


总结:

集合映射(set, list, array,bag, map)
a.这些集合类都是Hibernate实现的类和JAVA中的集合类不完全一样,set,list,map分别和JAVA中的Set,List,Map接口对应,bag映射成JAVA的List;这些集合的使用和JAVA集合中对应的接口基本一致;
b.在JAVA的实体类中集合只能定义成接口不能定义成具体类, 因为集合会在运行时被替换成Hibernate的实现。
c.集合的简单使用原则:大部分情况下用set,需要保证集合中的顺序用list,想用java.util.List又不需要保证顺序用bag。 

原创粉丝点击