hibernate中的集合
来源:互联网 发布:侯景之乱 知乎 编辑:程序博客网 时间:2024/06/07 20:53
一,set
set集合是最常用的集合,也是配置最简单的集合,set集合里面是不可以放重复的对象
二,list
对于list集合,和set集合的最大的区别是list里面的对象进行了排序,对于list的映射文件这样写:
dep:
private Integer depId;
private String depName;
private List<Emp> empList;
映射文件:
<class name="Dep" table="dep">
<id name="depId" column="dep_id">
<generator class="native"/>
</id>
<property name="depName" column="dep_name"/>
<list name="empList">
<key column="dep_id"/>
<!--这里的列名是属于hibernate,在java类中没有相对应的字段,这个字段名是可以随便取的,会出现在数据库中-->
<!--其他的地方都跟set相同,只是多了个list-index column这里为了记录对象的顺序的,使得list里面的数据有顺序-->
<list-index column="order_col"/> <!--主要是这里增加了一个排序的字段-->
<one-to-many class="hwt.pojo.Emp"/>
</list>
</class>
Bag
bag集合和list是一样的,只是bag集合不会有顺序,也没有一个像list中的list-index的字段,映射文件中的bag是属于hibernate的专有,java中是没有的,所以在pojo类中,要用list集合接收,bag是和list想对应的
pojo:
private Integer depId;
private String depName;
private List<Emp> empList; //bag要对应list集合
映射文件;
<bag name="empList">
<key column="dep_id"/><!-- 外键,数据库的列名 -->
<one-to-many class="hwt.pojo.Emp"/>
</bag>
对于bag里面的配置和set里面的的配置一样的,bag不进行排序,里面可以放重复数据
Map
pojo类中:private Map<Integer, Emp> map ;
映射文件:
<class name="Dep" table="dep" dynamic-update="true" dynamic-insert="true">
<id name="depId" column="dep_id">
<generator class="native"/>
</id>
<property name="depName" column="dep_name"/>
<map name="map">
<key column="dep_id"/><!-- 外键,数据库的列名 -->
<!-- 这里就是map集合的特有,是map的键 -->
<map-key type="java.lang.Integer" column="emp_id"></map-key>
<one-to-many class="hwt.pojo.Emp"/>
</map>
</class>
对于集合的使用,一般用的最多的是set集合 , 如果要想对其有插入的顺序,那么就可以使用list 集合,但是要增加一个排序的字段,如果不想排序,只是想嫩够放重复的数据,那么可以使用bag,bag不会产生一个多的字段,对于map和数组就用的比较少,map集合是一种键值对的形式,在映射文件中要配置一个<map-key type="" column=""/> 来指明键
- hibernate中的集合映射
- hibernate中的集合映射
- hibernate中的集合
- hibernate中的各式集合总结
- 11-hibernate中的集合类型
- Hibernate中的过滤集合类Filtering collections
- Hibernate中的Collection cache(集合缓存)
- hibernate中的集合映射详细解析
- hibernate中的集合映射详细解析
- Hibernate学习笔记1— Hibernate中的集合映射
- Hibernate 集合
- hibernate关联关系中的集合映射的比较
- hibernate中的set集合配置lazy="extra"
- Hibernate 连接数据库,取出query.list()集合中的元素
- Hibernate集合映射中的inverse属性以及cascade级联
- 关于hibernate中的查询得到一个集合,集合里面又是数组
- Hibernate集合映射---Map
- Hibernate Set集合例子
- oracle约束
- 序列和同义词
- 数据对象
- hibernate基础
- hibernate的关联
- hibernate中的集合
- hdu 1284 钱币兑换问题(完全背包 变形---求方案总数)
- 近两日极为纠结——游戏服务器,选择何种技术方案?(Python + SWIG--RakNet + Lua)
- hql和criteria
- hibernate的缓存
- cascade和inverse属性
- hibernate的继承关系
- 懒加载
- C#格式化输出