Hibernate面试必备知识点与解析
需积分: 9 178 浏览量
更新于2024-09-11
收藏 57KB DOC 举报
"hibernate面试大全"
在面试中,掌握Hibernate的相关知识至关重要,因为它是Java领域中最流行的对象关系映射(ORM)框架之一。以下是一些关于Hibernate的重点面试问题和答案:
1. 关系数据模型与对象模型的匹配关系:
- A) 表对应类:在ORM中,数据库的每个表通常映射到一个Java类。
- B) 记录对应对象:表中的每一行数据映射为类的一个实例或对象。
- C) 表的字段对应类的属性:表的列对应类的成员变量或属性。
- D) 表之间的参考关系对应类之间的关联关系:外键关系映射为类之间的引用或一对一、一对多、多对多关系。
2. SessionFactory的正确说法:
- B) 一个SessionFactory对象对应一个数据库存储源:SessionFactory配置后,通常与特定的数据库连接相关联。
- C) SessionFactory是重量级的对象,不应频繁创建:它的创建成本高,建议全局共享。
- D) SessionFactory的load()方法用于加载持久化对象:它可以按主键检索已持久化的对象。
3. 映射Customer类中Set类型的orders属性:
- 应该使用<set>元素来映射一对多关系,表示Customer类中Order对象的集合。
4. Hibernate级联保存集合中的对象:
- cascade属性应设置为"save-update",这将使得在保存或更新父对象时,同时处理集合中的子对象。
5. Session的方法:
- A) load():根据主键加载对象。
- B) save():保存新对象到数据库。
- C) delete():删除对象。
- D) update():更新对象状态。
- E) open():不是Session的方法,应该是getSession()来获取Session实例。
- F) close():关闭Session,释放资源。
6. 给定程序的打印结果:
- 由于load()方法在同一个Session中多次调用同一个主键,它会返回相同的代理对象,所以输出为true。
7. 修改Customer的name属性两次:
- 这段代码在事务内修改了对象的属性,但没有提交事务。如果只看这段代码,没有看到后续的事务提交或回滚,那么修改不会立即反映到数据库,但在事务结束后(假设被提交),数据库中的记录会被更新。
在面试中,理解这些基本概念和操作是至关重要的。此外,还要了解Hibernate的缓存机制、HQL(Hibernate Query Language)、 Criteria查询、事务管理、性能优化、懒加载和即时加载等高级主题。熟悉这些内容可以确保你在面试中展现出深厚的Hibernate知识基础。
119 浏览量
2012-09-14 上传
2012-03-02 上传
2012-07-05 上传
2008-10-04 上传
2009-09-18 上传
2013-08-09 上传
下雨有伞
- 粉丝: 1
- 资源: 15
最新资源
- 构建基于Django和Stripe的SaaS应用教程
- Symfony2框架打造的RESTful问答系统icare-server
- 蓝桥杯Python试题解析与答案题库
- Go语言实现NWA到WAV文件格式转换工具
- 基于Django的医患管理系统应用
- Jenkins工作流插件开发指南:支持Workflow Python模块
- Java红酒网站项目源码解析与系统开源介绍
- Underworld Exporter资产定义文件详解
- Java版Crash Bandicoot资源库:逆向工程与源码分享
- Spring Boot Starter 自动IP计数功能实现指南
- 我的世界牛顿物理学模组深入解析
- STM32单片机工程创建详解与模板应用
- GDG堪萨斯城代码实验室:离子与火力基地示例应用
- Android Capstone项目:实现Potlatch服务器与OAuth2.0认证
- Cbit类:简化计算封装与异步任务处理
- Java8兼容的FullContact API Java客户端库介绍