
Hibernate
文章平均质量分 81
liuhebing
高调做事,低调做人。
展开
-
hibernate延迟加载
hibernate懒加载所谓懒加载(lazy)就是延时加载,延迟加载。什么时候用懒加载呢,我只能回答要用懒加载的时候就用懒加载。至于为什么要用懒加载呢,就是当我们要访问的数据量过大时,明显用缓存不太合适,因为内存容量有限 ,为了减少并发量,减少系统资源的消耗,我们让数据在需要的时候才进行加载,这时我们就用到了懒加载。比如部门ENTITY和员工ENTITY,部门与员工1对多,如果lazy设置为转载 2010-05-08 18:44:00 · 377 阅读 · 0 评论 -
Hibernate Architecture
Hibernate Architecture OverviewHibernate Architecture LiteHibernate Architecture full cream原创 2010-05-09 10:49:00 · 509 阅读 · 0 评论 -
Hibernate最佳实践
一. 序 在实际项目中使用Hibernate有两年多了,在两年多的实践过程中既体验到了Hibernate带来的N多好处,同时也碰到不少的问题,特写此篇文章做个总结,记录自己在Hibernate实践中的一些经验,希望对于新使用Hibernate的朋友能有个帮助,避免走过多的弯路。 阅读本文前建议至少拥有Hibernate的一些基本知识,因为本文不会去详细介绍相关的基转载 2010-05-09 03:05:00 · 2862 阅读 · 1 评论 -
Hibernate 的Restrictions用法
方法 说明 Restrictions.eq = Restrictions.allEq 利用Map来进行多个等于的限制 Restrictions.gt > Restrictions.ge >= Restrictions.lt < Restrictions.le <= Restrictions.between BETWEEN Restrictions.like LIKE转载 2010-05-09 02:25:00 · 520 阅读 · 0 评论 -
Hibernate分页
Hibernate分页Hibernate中,通过对不同数据库的统一接口设计,实现了透明化、通用化的分页实现机制。通过Criteria.setFirstResult和Criteria.setFetchSize方法设定分页范围,如:Criteria criteria = session.createCriteria(TUser.class);criteria.add(Expression.转载 2010-05-09 03:21:00 · 685 阅读 · 0 评论 -
Hibernate HQL查询
Criteria查询对查询条件进行了面向对象封装,符合编程人员的思维方式,不过HQL (Hibernate Query Lanaguage)查询提供了更加丰富的和灵活的查询特性,因此Hibernate将HQL查询方式立为官方推荐的标准查询方式,HQL查询在涵盖 Criteria查询的所有功能的前提下,提供了类似标准SQL语句的查询方式,同时也提供了更加面向对象的封装。完整的HQL语句形势如下:Se转载 2010-05-09 02:23:00 · 335 阅读 · 0 评论 -
Hibernate - 悲观锁和乐观锁的实现
锁(locking) 业务逻辑的实现过程中,往往需要保证数据访问的排他性。如在金融系统的日终结算 处理中,我们希望针对某个cut-off时间点的数据进行处理,而不希望在结算进行过程中 (可能是几秒种,也可能是几个小时),数据再发生变化。此时,我们就需要通过一些机制来保证这些数据在某个操作过程中不会被外界修改,这样的机制,在这里,也就是所谓 的“锁”,即给我们选定的目标数据上锁,使其无法被其他程序修原创 2010-05-09 00:38:00 · 420 阅读 · 0 评论 -
Hibernate性能优化技巧
一、在处理大数据量时,会有大量的数据缓冲保存在Session的一级缓存中,这缓存大太时会严重显示性能,所以在使用Hibernate处理大数据量的,可以使用session. clear()或者session. evict(Object) 在处理过程中,清除全部的缓存或者清除某个对象。二、对大数据量查询时,慎用list()或者iterator()返回查询结果,. 使用List()返回结果时,H转载 2010-05-08 23:52:00 · 488 阅读 · 0 评论 -
Hibernate 一对多关联映射(双向关联)
一对多双向关联映射的方法:在"一"一端:在集合标签里面使用标签来表明需要在对方的表中添加一个外键指向"一"一端。在"多"一端:使用标签来映射。name值需同实体类中的属性名一致。需要注意:标签所指定的外键字段名需要与标签定义的外键字段名一致,否则便会造成引用数据的丢失!如果从"一"一端来维护一对多双向关联的关系,hibernate会发出多余的update语句,所以一般地情况下,我们便会从多一端来维转载 2010-05-08 20:10:00 · 1585 阅读 · 0 评论 -
Hibernate中get和load方法的区别
第一篇这次我们来谈一下Hibernate3.2 Session加载数据时get和load方法的区别(Hibernate 3以后的版本就用get()方法取代find()这个方法了),其实这个在网上有很多的论述,可大多语焉不详或经不起实践的推敲,让很多初学者学的满腹疑 窦,现在我给大家讲解一下:1. 对于Hibernate get方法,Hibernate会确认一下该id对应的数据是否存在,首先转载 2010-05-08 19:58:00 · 338 阅读 · 0 评论 -
Hibernate缓存机制
缓存是位于应用程序与物理数据源之间,用于临时存放复制数据的内存区域,目的是为了减少应用程序对物理数据源访问的次数,从而提高应用程序的运行性能. Hibernate在查询数据时,首先到缓存中去查找,如果找到就直接使用,找不到的时候就会从物理数据源中检索,所以,把频繁使用的数据加载到缓存区后,就可以大大减少应用程序对物理数据源的访问,使得程序的运行性能明显的提升. Hibernate缓存分类:转载 2010-05-08 19:41:00 · 270 阅读 · 0 评论 -
hibernate3.X二级缓存的使用
(一)Hibernate的二级缓存策略的一般过程如下: 1) 条件查询的时候,总是发出一条select * from table_name where …. (选择所有字段)这样的SQL语句查询数据库,一次获得所有的数据对象。 2) 把获得的所有数据对象根据ID放入到第二级缓存中。 3) 当Hibernate根据ID访问数据对象的时候,首先从Session一级缓存中查;查不到,如果配置了二级缓存,转载 2010-05-08 19:31:00 · 343 阅读 · 0 评论 -
Hibernate - unsaved-value的经典解
当你显式的使用session.save()或者session.update()操作一个对象的时候,实际上是用不到unsaved-value的。某些情况下(父子表关联保存),当你在程序中并没有显式的使用save或者update一个持久对象,那么Hibernate需要判断被操作的对象究竟是一个已经持久化过的持久对象,是一个尚未被持久化过的内存临时对象。例如: java代码: view plainc转载 2010-05-08 19:04:00 · 381 阅读 · 0 评论 -
Hibernate笔记
最近把项目从OJB移植到Hibernate, 收获很多。OJB已经被apache标记为过时了,所以我也没有太多关注。Hibernate作为当前最流行的ORM框架,也有很多缺陷。以下是我遇到的问题及解决方法.1. config file or annotation?老的方式是把java类和表的映射关系写在配置文件里,好处是上手快,功能也比较全,但不直观,不易维护。标注的方式是hibern原创 2011-12-08 00:55:27 · 4462 阅读 · 0 评论