- 博客(11)
- 收藏
- 关注
原创 [转]如何提高hibernate性能
在一个拥有单独业务层的应用中,业务层必须在返回之前,为web层“准备”好其所需的数据集合。这就意味着 业务层应该载入所有表现层/web层所需的数据,并将这些已实例化完毕的数据返回。通常,应用程序应该 为web层所需的每个集合调用Hibernate.initialize()(这个调用必须发生咱session关闭之前); 或者使用带有FETCH从句,或FetchMode.JOIN的Hibern...
2010-09-14 09:38:41 102
原创 [转]hibernate 集合类(Collections)映射(五)- array
五、array(数组)映射 将实体类Department修改如下: Java代码 private Employee[] emps; private Employee[] emps; Department.hbm.xml修改如下: Java代码 <array name="emps"> <key column="...
2010-09-14 08:55:30 105
原创 [转]hibernate 集合类(Collections)映射(四)- map
四、Map集合映射 Map集合属性不仅需要映射属性value,还需要映射属性key。这里假设Employee的name属性是唯一的,如下修改Employee.hbm.xml配置文件中的name属性,设置unique='true': Java代码 <property name="name" unique="true"/> <property name...
2010-09-14 08:54:35 87
原创 [转]hibernate 集合类(Collections)映射(三)- bag
三、bag集合映射(使用bag集合映射时,注意实体类中还是使用java.util.List与之对应) 如果在实体类中使用了List类型的属性,而我们并不希望保证集合中元素的顺序(保证集合中元素的顺序会采用排序算法,因而会占用一些CPU资源,一定程序上影响性能),可以在配置文件中使用<bag>,它的使用与<list>唯一不同的就是不保证集合中元素的顺序...
2010-09-14 08:53:58 136
原创 [转]hibernate 集合类(Collections)映射(二)- List
Java代码 public class Many2One { public static void main(String[] args) { Department depart = add(); Department department = queryDepart(depart.getId()); } ...
2010-09-14 08:51:59 122
原创 [转]hibernate 集合类(Collections)映射(二)- List
二、List集合映射 1. 实体类: 实体类还是采用Department和Employee,详见我写的多对一(many-to-one)文章,在它们的基础上进行修改如下所示: 将原Department实体类中的Set替换成List,如下所示: Java代码 package com.reiyen.hibernate.domain; public cla...
2010-09-14 08:49:23 104
原创 [转]hibernate 集合类(Collections)映射(一)
Hibernate可以持久化以下java集合的实例, 包括java.util.Map, java.util.Set, java.util.SortedMap, java.util.SortedSet, java.util.List, 和任何持久实体或值的数组(使用Set集合类型是最好的选择)。类型为java.util.Collection或者java.util.List的属性还可以使用"bag...
2010-09-14 08:45:58 113
原创 [转]hibernate随笔
对那些看重删除性能的系统,推荐所有的键都应该定义为on-delete=”cascade”,这样Hibernate将使用数据库级的on cascade delete约束,而不是多个delete语句。注意:这个特性会绕过Hibernate通常对版本数据(versioned data)采用的乐观锁策略。not-null和update属性在映射单向一对多关联的时候有用。如果你映射一个单向一对多关联到非...
2010-09-09 16:38:37 78
原创 [转]Hibernate映射文件中索引及约束的使用
1、添加索引:在一对多的关系中,在多的一方会产生一个外键,这个外键没有自动添加索引,当存在从一的一端产生对多的一端的查询时,有可能会在多的一端造成全表查询问题,数据量巨大时会产生严重的性能问题。可以在多一端的外键上添加索引(index="user_group_id_idx")来解决这个问题。例如: <?xml version="1.0"?> <!DOCTYPE hibernate...
2010-09-08 11:05:46 124
原创 [转]Hibernate中get与load的区别
1.搜索不到符合条件的记录,get返回一个null,load会抛出一个ObjectNotFountdException 2.load返回实体的代理类实例(查看缓存和二级缓存);但get方法则要分情况: ●能get方法若在 session缓存中找到了该id对应的对象,如果在前一步中被代理过的,其中被load方法使用过或被其它关联对象延迟加载过,则返回的原来的代理对象; ●若该代理对象操作前...
2010-09-06 10:19:09 94
原创 [转]hibernate 中的lazy策略
lazy策略可以用在: * <class>标签上:可以取值true/false * <property>标签上,可以取值true/false,这个特性需要类增强 * <set>/<list>等集合上,可以取值为true/false/extra * <one-to-one>/<many-to-one>等标签上,可以取值false...
2010-09-03 14:51:23 72
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人