qq_北执_8
2019-01-23
看一下你的二级缓存策略。
指间滑过的风
2018-05-21
检查你Hibernate配置是否正确,另外代码细节是否正确
点不亮的灯塔
2018-03-16
操作都一摸一样啊。你是不是没看hibernate 基础视频?
不敲代码的攻城狮
2018-01-20
七明芝
2017-09-15
hibernate4以上二级缓存 org.hibernate.cache.NoCacheRegionFactoryAvailableException, org.hibernate.cache.TimestampsRegion, org.slf4j.LoggerFactory
hibernate4以上不再支持ehcache-core中的 EhCacheRegionFactory,或者SingletonEhCacheRegionFactory文件,而是应用了hibernate-ehcache中的相对应的文件。以hibernate4.2.2举例:引入ehcache-core-2.4.3.jar,hibernate-ehcache-4.2.2.Final.jar以及slf4j-api-1.6.1.jar。hibernate.cfg.xml的相应配置改为:
<property name="cache.use_second_level_cache">true</property>
<property name="cache.provider_class">net.sf.ehcache.hibernate.EhCacheProvider</property> <property name="hibernate.cache.region.factory_class">
org.hibernate.cache.ehcache.SingletonEhCacheRegionFactory
</property>
<property name="cache.use_query_cache">true</property>
问题解决!
hibernate.cache.region.factory_class也可以配置为
name="hibernate.cache.region.factory_class">org.hibernate.cache.ehcache.EhCacheRegionFactory
</property> 按需而定。
需要注意的是,slf4j-api-1.6.1.jar必须引入,否则会报org.slf4j.LoggerFactory异常。
我是版本高了以后有org.hibernate.cache.NoCacheRegionFactoryAvailableException:错误,由于不知道你的问题在哪里,给点建议你看看能不能帮到你.
慕粉2049205449
2017-07-28
按耐不住de青春
2017-07-10
getCurrentSession使用现有的session对象,而二级缓存的应用场景是不同的session之间,不可能只有一个session对象吧?
按耐不住de青春
2017-07-07
@ReasonLee
按耐不住de青春
2017-07-07
工具类是通过openSession获得session的。视频中引用的是同一个session,所以相当于是同一个请求,于是执行一条sql语句,后来老师再次使用工具类获得session,所以就有两条session,有不同的sessionID,执行main函数相当于是两个不同的请求,所以执行两条sql语句,缓存的实质就是看是不是用的用一个session,个人理解,望指正0.0
JohnPorter
2017-06-14
有代码吗》?
苏沐沐
2017-05-09
需要在短时间内多次操作数据库的时候使用
谁的浮生乱了流年
2017-03-09
<ehcache>
<diskStore path="java.io.tmpdir" />
<defaultCache maxElementsInMemory="10000" eternal="false"
timeToIdleSeconds="120" timeToLiveSeconds="120" overflowToDisk="true" />
</ehcache>
这个是默认的,不用改也不会出现你的那个问题
qq_落寞的夜色_0
2017-02-21
1.什么是缓存?:并不是指计算机的内存或者CPU的一二级缓存
缓存是指为了降低应用程序对物理数据源访问的频次,从而提高应用程序的运行性能的一种策略
2.为什么使用缓存?
ORM框架访问数据库的效率直接影响应用程序的运行速度,提升和优化ORM框架的执行效率至关重要。
Hibernate的缓存是提升和优化Hibernate执行效率的重要手段,所有学会Hibernate缓存的使用和配置是优化的关键。
3.缓存的工作原理

1.Hibernate一级缓存又称为“Session缓存”、“会话级缓存”。
2.通过Session从数据库查询实体时会把实体在内存中存储起来,下一次查询同一实体时不再从数据库获取,而从内存中获取,这就是缓存。
3.一级缓存的生命周期和Session相同;Session销毁,它就销毁。
4.一级缓存中的数据可适用范围在当前会话之内。
一级缓存无法取消,用二个方法管理。
evict():用于将某个对象从session的一级缓存中清除
clear():用于将一级缓存中的所有对象全部清除
用法:
一级缓存也有些时候会对程序的性能产生影响
二级缓存又称为“全局缓存”、“应用级缓存”
二级缓存中的数据可适用范围是当前应用的所有会话
二级缓存是可插拔式缓存,默认是EHCache,还支持其他二级缓存组件如:Hashtable、OSCache、SwarmCache、JBoss TreeCache等
1.添加二级缓存对应的jar包
ehcache.jar.zip
2.在hibernate的配置文件中添加Privider类的描述

3.添加二级缓存的属性配置
hibernate.cfg.xml中

4.在需要被缓存的表所对应的映射文件中添加<cache/>标签

<cache/>标签的详细介绍:
usage:指定缓存策略,可选的策略包括:transactional,read-write,nonstrict-read-write或read-only(只读)
region:指定二级缓冲区域名
include:指定是否缓存延迟加载的对象;all,表示缓存所有对象;non-lazy,表示不缓存延迟加载的对象
在通常情况下会将具有以下特征的数据放入到二级缓存中
很少被修改的数据。
不是很重要的数据,允许出现偶尔并发的数据。
不会被高并发访问的数据。
参考数据。

Hibernate的缓存能提高检索效率
Hibernate的缓存分为一级缓存和二级缓存。一级缓存是会话级缓存,二级缓存是应用级缓存。
Hibernate的缓存在提高检索的同时,也会增加服务器的消耗,所有要注意缓存的使用策略。
迷失de章鱼
2016-12-21
我已经找到了
返回的类型不同:
list()返回List;iterate()返回Iterate。
查询策略不同:
list()直接发送sql语句,查询数据库;
iterate()发送sql语句,从数据库取出id,然后先从缓存中根据id查找对应信息,
有就返回结果,没有就根据id发送sql语句,查询数据库。
返回对象不同:
list()返回持久化实体类对象;
iterate()返回代理对象。
与缓存的关系不同:
list()只缓存,但不使用缓存(查询缓存除外);
iterate()会使用缓存。
南大软工学徒
2016-12-13
是多例,因为重新创建一个session时,这个session对象和之前的session对象不是同一个。当为同一个的时候才能称之为多例
qq_属于自己的星空_04068920
2016-11-23
可以看是否执行了查询语句吧。
dky
2016-11-13
网站的规定了, 利于学生学习吧,
dky
2016-11-13
相对来说更接近于代码段的缓存, 在内存中和在硬盘的区别
ATWJSW
2016-10-01
同问,求解答
car
2016-09-09
视频右侧边栏 笔记 里边有截屏功能
LXJ1987
2016-01-11
你可以到ehcache官网去下载 http://www.ehcache.org/downloads/,这里可以下载最新的jar,还可以去官网看看源码,有利于自身的提高
sword
2015-12-30
EHCache相关jar包:hibernate-4.2.2\hibernate-release-4.2.2.Final\lib\optional\ehcache下的所有包
EHCache配置文件:hibernate-4.2.2\hibernate-release-4.2.2.Final\project\etc下的ehcache.xml文件
qq_du_0
2015-12-19
为什么要关闭或删除二级缓存?一级缓存的清空或删除是因为session的原因可以简单实现,而要关闭二级缓存你可以考虑不开启,至于删除或清空二级缓存中的数据由数据过期策略来实现,对于你想的手动清除二级缓存中的数据jar包中并没有提供该方法,如果你是对比一级缓存的功能而提出这个问题就不要深究它了,如果是你工作中的问题而提出请恕我无力作答,谢谢。
qq_du_0
2015-12-19
不会销毁,二级缓存不会随着session的销毁而销毁,它是基于SessionFactory的
一度碧波
2015-12-07
什么load方法视频中没有看到啊
hiriver
2015-11-23
http://my.oschina.net/004/blog/214851
itsyizu
2015-11-17
请老师上传工程文件
藏红
2015-11-16
EHCache相关jar包:hibernate-4.2.2\hibernate-release-4.2.2.Final\lib\optional\ehcache下的所有包
EHCache配置文件:hibernate-4.2.2\hibernate-release-4.2.2.Final\project\etc下的ehcache.xml文件
飘仙人
2015-11-12
直接从网上下载,网上好多的。。。
勿莣洎莪
2015-11-09
有很多的视频,可以找找看看