集合, 数组类型的映射: set,list, array, map
除了下面的方法外,还可以写自定义类型,即让List, Set集合类型存储到数据库时里面的元素用,号隔开.读出来的时候又分解成集合对象.这个有点像struts的类型转换器.
注意:
* 这里使用的集合类型时,集合对象里面存放的类型是基本数据类型,而不是复杂类或自定义类.
如果是自定义类,那可以用 多对一 的映射(放在set中).
* 集合的映射比较少使用
CollectionMapping.java
package com.ncepu.hibernate;
import java.util.List;
import java.util.Map;
import java.util.Set;
public class CollectionMapping {
private int id;
private String name;
private Set setValue;
private List listValue;
private String[] arrayValue;
private Map mapValue;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Set getSetValue() {
return setValue;
}
public void setSetValue(Set setValue) {
this.setValue = setValue;
}
public List getListValue() {
return listValue;
}
public void setListValue(List listValue) {
this.listValue = listValue;
}
public String[] getArrayValue() {
return arrayValue;
}
public void setArrayValue(String[] arrayValue) {
this.arrayValue = arrayValue;
}
public Map getMapValue() {
return mapValue;
}
public void setMapValue(Map mapValue) {
this.mapValue = mapValue;
}
}
CollectionMapping.hbm.xml
t_CollectionMapping
id
name
1
xxx
t_set_values
set_id
set_value
1
a
1
b
t_list_value
list_id
list_value
list_index
1
c
0
1
d
1
t_array_value
array_id
array_value
array_index
1
e
0
1
f
1
t_map_value
map_id
map_key
map_value
1
k1
v1
1
k2
v2