SSH框架面试关键点解析

需积分: 9 9 下载量 34 浏览量 更新于2024-10-14 收藏 33KB DOC 举报
"SSH框架面试题目.doc包含了关于SSH(Struts + Spring + Hibernate)三大框架的常见面试问题,重点讨论了Hibernate的相关知识,包括其工作原理、延迟加载、类间关系的实现以及缓存机制,并提到了Hibernate的五种查询方式。" SSH框架是Java开发中常用的Web应用程序框架,由Struts、Spring和Hibernate三个组件组成,用于构建高效、灵活的企业级应用。 1. **Hibernate工作原理**: Hibernate是一个ORM(对象关系映射)框架,它通过读取配置文件和映射信息来创建SessionFactory。在使用时,会打开Session,开启事务,执行持久化操作,提交事务,然后关闭Session和SessionFactory。它的核心优势在于简化了数据库访问层的代码,支持多种关系数据库,并提供了高性能和灵活的映射功能。 2. **为什么使用Hibernate**: - 封装了JDBC,减少重复代码。 - 作为主流的持久化框架,简化DAO层的工作。 - 使用Java反射实现透明性,性能优秀且轻量级。 - 支持各种复杂的数据关系映射,如一对一、一对多、多对多等。 3. **Hibernate的延迟加载**: 延迟加载是指在真正需要数据时才加载到内存中,从而节省内存资源和提高性能。在Hibernate 2中,延迟加载主要针对实体对象和集合;Hibernate 3则扩展到属性的延迟加载。 4. **类间关系的实现**: Hibernate通过配置文件中的映射注解或XML配置来实现类间关系,如many-to-one、one-to-many、many-to-many等,对应数据库中的外键关系。 5. **Hibernate的缓存机制**: - 一级缓存是SessionFactory级别的,每个Session都共享,属于事务级缓存。 - 二级缓存可以是应用级或分布式缓存,适用于特定场景,如数据更新频率低、频繁使用的非关键数据等。常见的第三方缓存实现有EhCache、Redis等。 6. **Hibernate的查询方式**: - SQL:直接使用SQL语句,适合批量更新和删除,但不推荐用于常规查询。 - Criteria(QBC):提供更面向对象的查询方式,适合多条件检索。 - Object导航检索:根据对象关系查找关联对象。 - Component主键检索:通过主键值获取对象。 - HQL:基于实体的查询语言,类似SQL,支持属性查询和参数查询。 这些面试题目涵盖了Hibernate的核心知识点,对于理解SSH框架和准备相关面试非常有帮助。