在多数情况下,不提倡通过Session的evict()方法和clear()方法来管理第一级缓存,因为它们并不能显著提高应用的性能。管理第一级缓存的最有效的方法是采用合理的检索策略和检索方式,如通过延迟加载,集合过滤或投影查询等手段来节省内存的开销。
临时状态,持久状态,游离状态
save()临时->持久
update()游离->持久
saveOrUpdate()方法先判断对 ...
java 代码
19.1. 抓取策略(Fetching strategies)
抓取策略(fetching strategy) 是指:当应用程序需要在(Hibernate实体对象图的)关联关系间进行导航的时候, Hibernate如何获取关联对象的策略。抓取策略可以在O/R映射的元数据中声明,也可以在特定的HQL 或条件查询(Criteria Query)中重载声明。
...
java 代码
建议大家好好去看一下这个链接,讲的很详细,虽然是E文,可并不难懂。
http://www.hibernate.org/155.html
这篇文章里没有提到delete的情况,我就one-to-many来做个简单说明:
代码
...
hibernate 延迟加载问题探讨
但就此说一下关于lazy机制:
延迟初始化错误是运用Hibernate开发项目时最常见的错误。如果对一个类或者集合配置了延迟检索策略,那么必须当代理类实例或代理集合处于持久化状态(即处于Session范围内)时,才能初始化它。如果在游离状态时才初始化它,就会产生延迟初始化错误。
下面把Customer.hbm.xml文件的<class>元素的lazy属性设为true,表示使用延迟检索策略:
<class name="mypack.Customer" table="CUSTOMERS" lazy="true">
当执行Session的lo ...
l Hibernate中将集合分为四类:
1、bag类:元素无序,可重复
2、set类:元素无序,不可重复
3、list类:元素有序,可重复
4、array类:数组
5、map类:映射关系
l 除bag类集合外,其它集合均可在Java API中找到对应接口。
Bag一般使用list来映射
<bag name="unitNames" table="unit" lazy="false" order-by="unit_id desc">
<key column="building_id"/>
<element ...
java 代码
首先要知道为什么要缓存,我们的项目往往要数据库不会布署在同一个服务器上,那么如果我们的项目要频烦的操作数据库如果没有缓存,速度就会很慢,因为每访问都是一次远程调用,Socket的创建和销毁,数据的打包和拆包,数据查询命令,网络的延时,等等。
那下面说说缓存。缓存就是把数据库的数据在本地建一个备份放进内存。我们在次查找数据库的时候就先去本地内存中查找,这样相对起来,缓存的好处就一目了然了。
缓存分为三类 &n ...
xml 代码
二级缓存配置:
1、首先要打开二级缓存,在hibernate.cfg.xml中添加如下配置:
<property name="hibernate.cache.use_second_level_cache">true</property>
2、Hibernate的二级缓存使用第三方的缓存工具来实现,所以我们需要指定Hibernate ...
HQL经典语句
Hib的检索方式
1'导航对象图检索方式。通过已经加载的对象,调用.iterator()方法可以得到order对象
如果是首次执行此方法,Hib会从数据库加载关联的order对象,否则就从缓存中得到。
2'OID检索方式。通过session的get,load方法知道了OID的情况下可以使用
3'HQL检索方式。使用面向对象的HQL查询语句session的find方法利用HQL来查询
4'QBC检索方式。利用QBCAPI来检索它是封装了基于字符串的查询语句
5'本地的SQL检索方式。使用本地数据库的SQL查询语句Hib会负责把检索到的J ...
HQL查询:
Criteria查询对查询条件进行了面向对象封装,符合编程人员的思维方式,不过HQL(Hibernate Query Lanaguage)查询提供了更加丰富的和灵活的查询特性,因此Hibernate将HQL查询方式立为官方推荐的标准查询方式,HQL查询在涵盖Criteria查询的所有功能的前提下,提供了类似标准SQL语句的查询方式,同时也提供了更加面向对象的封装。完整的HQL语句形势如下:
Select/update/delete…… from …… where …… group ...
- 浏览: 20723 次
- 性别:

- 来自: 深圳

- 详细资料
搜索本博客
最新评论
-
用Spring MVC实现用户登录 ...
good!
-- by mljmq -
Tapestry学习笔记(7)
把书上的直接打下来也算学习笔记?
-- by hatalf -
uml时序图(转载)
不好意思,不记得了。
-- by fangyong2006 -
uml时序图(转载)
可否提供转载地址?
-- by iExploiter






评论排行榜