Hibernate缓存的种类?
答:分为内置缓存和外置缓存两种.
内置缓存的分类:
1、Session中的内置缓存,这个是Hibernate缓存不可缺的组成部分,将持久化对象缓存到Session中
2、SessionFactory中的内置缓存,这个是Hibernate缓存不可缺的组成部分,将一些数据库操作的
Sql语句缓存起来。这个缓存是只读的
持久化层的缓存的范围:
1、事务范围:Session的内置缓存就是一个事务范围的,也就是缓存的生命周期随着事务的建立而产生,
随着事务的结束而消亡。
2、进程范围:缓存被进程内的所有事务共享,这些事务由可能并发访问缓存,因此必须对进程范围的缓存
提供事务隔离机制。
3、集群范围:缓存被同一个机器或多个机器上的多个进程共享。对于大多数应用要慎重考虑集群范围的缓存
由于并发的原因对应用性能影响较大。一般将只读的数据或者很少修改的数据存储到集群范围的缓存中。
外置缓存的支持:
Hibernate提供了EBCache、OSCache、SwarmCache、JBossCache这些第三方插件的适配器。具体的配置方法
请查看相关的文档。
注意:在对数据进行批量处理的时候为了提高性能还是直接通过Hibernate调用底层的数据库操作API。