Hibernate的集合映射
Set 接口
?
set类型的对象,被加入的对象不能重复,同时被加入的对象也没有固定的顺序
Hashset
?
List接口
?
List对象所包含的对象,可以重复加入,同时还会记录加入的对象的先后顺序。
ArrayList
记录先后顺序,可以加入重复的
LinkedList
记录先后顺序,可以加入重复的,效率比arraylist稍高
?
list映射
存储list对象的集合时,需要在数据库一并存储记录的顺序
?
bag映射
bag对象允许重复的元素,但是不记录添加对象的先后顺序。
在jdk中没有提供bag集合的类型,Hibernate中bag映射使用的是自己的bag类型
?bag的类型?? org.hibernate.collection.PersistentBag
?
?
?IdBag映射
bag集合映射的一种扩展,Hibernate提供还提供IdBag映射,可以在定义Bag映射时,为每个加入的对象指定id;
?
?
Map接口
map对象中保存的是key/value形式的一个对象,key与value都是object类型的变量,key与value是一一对应的关系,key值不能重复
?
HashMap
对象不会记录先后顺序
LinkedHaspMap
记录先后顺序
TreeMap
会把key值进行排序
?
Map映射
Map对象所包含的每一个对象(value)都有一个key与之对应,所以将map集合对象的数据存储到数据库表的时候,必须同时储存value对应的key值
?
?
?
?
?集合映射的排序:
?
??? 利用<set>或<map>标签的sort属性对集合中的数据进行排序
?
??? 利用sql的order by子句排序
?