Hibernate高级面试题及详细答案.docxVIP

  • 1
  • 0
  • 约1.48万字
  • 约 15页
  • 2026-05-18 发布于河北
  • 举报

Hibernate高级面试题及详细答案

一、核心原理类(考察底层理解,区分基础与高级)

1.请详细说明Hibernate的一级缓存、二级缓存的区别,以及实际开发中二级缓存的使用场景和注意事项?

答案:

首先明确两者的核心定位:一级缓存是Session级别的缓存,二级缓存是SessionFactory级别的缓存,这是最本质的区别,具体差异和使用细节如下:

1.一级缓存(SessionCache):

-生命周期:与Session绑定,Session创建时缓存创建,Session关闭(close)或清空(clear/evict)时缓存销毁,不可跨Session共享。

-存储内容:主要存储当前Session中加载的实体对象,默认开启,无需手动配置。

-作用:减少同一会话中对数据库的重复查询(比如多次get同一个ID的实体,只查一次数据库),提升单会话内的操作效率。

2.二级缓存(SessionFactoryCache):

-生命周期:与SessionFactory绑定,整个应用程序运行期间只有一个SessionFactory,缓存随SessionFactory创建而创建,销毁而销毁,可跨所有Session共享。

-存储内容:通常存储高频访问、修改频率低、数据相对稳定的实体(如字典表、配置表),默认关闭,需要手动配置(如集成Ehcache、Redis)。

-作用:

文档评论(0)

1亿VIP精品文档

相关文档