设为首页 加入收藏

TOP

Hibernate面试题集
2014-10-31 23:30:03 来源: 作者: 【 】 浏览:35
Tags:Hibernate 试题集

一. Hibernate中:不看数据库,不看XML文件,不看查询语句,怎么样能知道表结构?


看表结构对应的类文件,比如UserInfo表对应的UserInfo.java文件


二. hibernate数据查询的几种方式都是什么?


1.使用主键id加载对象(load(),get());


2.通过对象导航,比如通过stu.getTeam()得到team的实例;


3 使用hql;


4使用qbc(query by criteria)


5直接使用sql语句取得记录集;


一般都使用后面三种方式.


注意.hql是面向对象的查询.语法和sql是基本一样的.不区分大小写的,但是注意的是对与对象.必须遵循对象的大小写.因为hql是对像查询..同时我们必须清楚.hql只能取得对象,而不支持uid(update,insert.delete)


三. Hibernate是如何延迟加载


1. Hibernate2延迟加载实现:a)实体对象 b)集合(Collection)
2. Hibernate3 提供了属性的延迟加载功能
当Hibernate在查询数据的时候,数据并没有存在与内存中,当程序真正对数据的操作时,对象才存在与内存中,就实现了延迟加载,他节省了服务器的内存开销,从而提高了服务器的性能。


四. Hibernate中怎样实现类之间的关系 (如:一对多、多对多的关系)


类与类之间的关系主要体现在表与表之间的关系进行操作,它们都市对对象进行操作,我们程序中把所有的表与类都映射在一起,它们通过配置文件中的many-to-one、one-to-many、many-to-many


五. 请介绍一下下Hibernate的缓存机制?


1. 内部缓存存在Hibernate中又叫一级缓存,属于应用事物级缓存
2. 二级缓存:
a) 应用及缓存
b) 分布式缓存
条件:数据不会被第三方修改、数据大小在可接受范围、数据更新频率低、同一数据被系统频繁使用、非 关键数据
c) 第三方缓存的实现


六. 如何对hibernate进行优化?


1. 使用双向一对多关联,不使用单向一对多
2. 灵活使用单向一对多关联
3. 不用一对一,用多对一取代
4. 配置对象缓存,不使用集合缓存
5. 一对多集合使用Bag,多对多集合使用Set
6. 继承类使用显式多态
7. 表字段要少,表关联不要怕多,有二级缓存


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇一家美资企业的java servlet面试题 下一篇C/C++笔试题-主要考察C/C++语言基..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: