Hibernate的集合映射(List、Set、Map、Array、Bag、idbag)
集合属性大致有两种:第一种是单纯的集合属性,如像 List、Set 或数组等集合属性;另一种是Map结构的集合属性,每个属性值都有对应的Key映射。
集合映射的元素大致有如下几种:
List: 用于映射 List 集合属性
Set: 用于映射 Set 集合属性
Map: 用于映射 Map 集合性
Array: 用于映射数组集合属性
Bag: 用于映射无序集合
idbag: 用于映射无序集合,但为集合增加逻辑次序
1. List 集合属性
List是有序集合,因此持久化到数据库时也必须增加一列来表示集合元素的次序。看下面的持久化类,该 News 类有个集合属性:schools ,该属性对应学校。而集合属性只能以接口声明,因此下面代码中,schools 的类型能是List ,不能是ArrayList ,但该集合属性必须使用实现类完成初始化。
Java代码
package cn.janwer;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
public class News implements Serializable {
int id;
String title;
String content;
private List schools = new ArrayList();
public String getContent() {
return content;
}
public void setContent(String content) {
this .content = content;
}
public int getId() {
return id;
}
public void setId( int id) {
this .id = id;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this .title = title;
}
public List getSchools() {
return schools;
}
public void&nbs