Hibernate在查询数据时,首先到缓存中去查找,如果找到就直接使用,找不到的时候就会从物理数据源中检索,所以,把频繁使用的数据加载到缓存区后,就可以大大减少应用程序对物理数据源的访问,使得程序的运行性能明显的提升。
hibernate的缓存可分为一级缓存和二级缓存
session存在于一级缓存中,sessionfactory存在于二级缓存中,它们的区别是:
Hibernate的一级缓存和二级缓存都位于均位于持久层,且均用于存放数据库数据的副本,最大的区别就是缓存的范围各不一样.
一级缓存的范围是事务范围。二级缓存的范围是进程或集群范围。