hibernate---->Collection映射
来源:互联网 发布:进度计划软件 编辑:程序博客网 时间:2024/06/14 12:29
集合, 数组类型的映射: 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
<class name="com.ncepu.hibernate.CollectionMapping" table="t_CollectionMapping"> <id name="id"> <generator class="native"/> </id> <property name="name"/> <!--生成一个表t_set_value,用于存放set类型的数据--> <set name="setValue" table="t_set_value"> <!--生成一个主键set_id,作为外键参照t_CollectionMapping表主键--> <key column="set_id"/> <element type="string" column="set_value"/> </set> <list name="listValue" table="t_list_value"> <key column="list_id"/> <!--因为List是有序的,所以还得存放一个下标list_index--> <list-index column="list_index"/> <element type="string" column="list_value"/> </list> <array name="arrayValue" table="t_array_value"> <key column="array_id"/> <!--数组与List类型一样,也是有序的--> <list-index column="array_index"/> <element type="string" column="array_value"/> </array> <map name="mapValue" table="t_map_value"> <key column="map_id"/> <!--Map类型得存放map-key和map-value两个值--> <map-key type="string" column="map_key"/> <element type="string" column="map_value"/> </map> </class>
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
- hibernate---->Collection映射
- 异常------》hibernate异常---》Duplicate collection role mapping(重复映射)
- hibernate学习12之Collection(集合)映射
- hibernate-collection
- hibernate-collection
- hibernate-collection
- hibernate一对多映射时异常Illegal attempt to map a non collection as a @OneToMany, @ManyToMany or @Collection
- 17. Collection映射
- hibernate映射
- hibernate映射
- hibernate映射
- hibernate映射
- Hibernate 映射
- hibernate映射
- hibernate映射
- Hibernate------映射
- Hibernate映射
- hibernate映射
- 测试 inotify 中 IN_DELETE_SELF
- Hibernate---->component映射和复合主键映射
- C#的反射
- Cocos2d-x Cocos2dxAccelerometer和Cocos2dxGLSurfaceView出错解决方案
- 如何方便的查看某个网站的服务器类型和web架构
- hibernate---->Collection映射
- 使用busybox
- 1.2-1项目规范-PHP命名规范
- SDK中adb工具用法
- VS2008 2010创建新项目失败
- hdu 2544 最短路
- ....
- 网页布局
- HDU 2063 过山车