![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Hibernate
MyOracleX
这个作者很懒,什么都没留下…
展开
-
Hibernate中对象状态
<br />临时态:session中无,数据库中也无。持久态:session中有,数据库中也有游离态:session中无,数据库中可能有。 1.临时状态 (transient) 特征: 1】不处于Session 缓存中 2】数据库中没有对象记录 Java如何进入临时状态 1】通过new语句刚创建一个对象时 2】当调用Session 的delete()方法,从Session 缓存中删除一个对象时。2.持久化状态(persisted) 特征: 1】处于Session 缓存中 2】持久化对象数据原创 2010-11-23 09:37:00 · 574 阅读 · 0 评论 -
Hibernate3综述
原理:1. 读取并解析配置文件2. 读取并解析映射信息,创建SessionFactory3. 打开Sesssion4. 创建事务Transation5. 持久化操作6. 提交事务7. 关闭Session8. 关闭SesstionFactory1.Hibernate 的初始化读取Hibernate 的配置信息,创建Session Factory1)创建Configeration类的实转载 2010-11-23 10:24:00 · 1582 阅读 · 0 评论 -
Hibernate一级缓存和二级缓存综合
<br />1、Hibernate缓存概述<br />缓存是介于物理数据源与应用程序之间,是数据库数据在内存中的存放临时copy的容器,其作用是为了减少应用程序对物理数据源访问的次数,从而提高了应用的运行性能。Hibernate在进行读取数据的时候,根据缓存机制在相应的缓存中查询,如果在缓存中找到了需要的数据(我们把这称做“缓存命中"),则就直接把命中的数据作为结果加以利用,避免了建立数据库查询的性能损耗。<br />2:Hibernate缓存分类<br />一级缓存(session):内部缓存<br />转载 2010-11-23 09:58:00 · 715 阅读 · 0 评论 -
Hibernate一级缓存详解及优化
<br />1.Session 级别的缓存,它同session邦定。它的生命周期和session相同。Session消毁,它也同时消毁;管理一级缓存,一级缓存无法取消,用两个方法管理,clear(),evict()2.两个session 不能共享一级缓存,因它会伴随session的生命周期的创建和消毁;<br />3.Session缓存是实体级别的缓存,就是只有在查询对象级别的时候才使用,如果使用HQL和SQL是查询属性级别的,是不使用一级缓存的!切记!!!!<br />4.iterat转载 2010-11-23 09:53:00 · 1093 阅读 · 0 评论 -
Hibernate二级缓存详解
<br />在向大家详细介绍Hibernate二级缓存之前,首先让大家了解下一级缓存,然后全面介绍Hibernate二级缓存。Hibernate中提供了两级Cache,第一级别的缓存是Session级别的缓存,它是属于事务范围的缓存。这一级别的缓存由hibernate管理的,一般情况下无需进行干预;第二级别的缓存是SessionFactory级别的缓存,它是属于进程范围或群集范围的缓存。这一级别的缓存可以进行配置和更改,并且可以动态加载和卸载。 Hibernate还为查询结果提供了一个查询缓转载 2010-11-23 09:54:00 · 744 阅读 · 0 评论 -
hibernate缓存使用注意事项
基本的缓存原理Hibernate缓存分为二级,第一级存放于session中称为一级缓存,默认带有且不能卸载。 第二级是由sessionFactory控制的进程级缓存。是全局共享的缓存,凡是会调用二级缓存的查询方法 都会从中受益。只有经正确的配置后二级缓存才会发挥作用。同时在进行条件查询时必须使用相应的方法才能从缓存中获取数据。比如Query.iterate()方法、load、get方法等。必须注意的是session.find方法永远是从数据库中获取数据,不会从二级缓存中获取数据,即便其中有其所需要的数据也是转载 2010-11-23 10:23:00 · 667 阅读 · 0 评论