Hibernate面试题

1、什么是ORM?
   答:对象关系映射(Object-Relational-Mapping,简称ORM)是一种为了解决面向对象与面向关系数据库存在的互不匹配现象的技术。简单的说, ORM是通过使用描述对象和数据库之间映射的元数据,将Java程序中的对象自动持久化到关系数据库中,本质上就是将数据从一种形式转换到另外一种形式。

2、Hibernate有哪5个核心接口?
   答:Hibernate的5个核心接口具体包括:
  (1)Configuration接口:配置Hibernate,根据其启动Hibernate,创建SessionFactory对象。
  (2)SessionFactory接口:初始化Hibernate,充当数据存储源的代理,创建session对象,SessionFactory是线程安全的,意味着它的同一个实例可以被应用的多个线程共享,是重量级的,二级缓存。
  (3)session接口:负责保存、更新、删除、加载和查询对象,是线程不安全的,应避免多个线程共享同一个session,是轻量级的,一级缓存。
  (4)Transaction接口:管理事务。
  (5)Query和Criteria接口:执行数据库的查询。

3、什么是重量级?什么是轻量级?
   答:轻量级是指它的创建和销毁不需要消耗太多的资源,意味着可以在程序中经常创建和销毁session的对象。
   重量级意味不能随意的创建和销毁它的实例,否则会占用很多资源。

4、Hibernate是如何处理事务的?
   答:Hibernate的事务实际上是底层的JDBC。Transaction的封装或者是JTA Transaction的封装,默认情况下使用JDBC Transaction。

5、Connection类中提供的事务处理方法有几种,分别是什么?
   答:Connection类中提供的事务处理方法共有3种。
  (1)setAutoCommit(Boolean autoCommit)设置是否自动提交事务,默认为自动提交事务,即为true,通过false设置来禁止自动提交事务。
  (2)commit()提交事务。
  (3)rollback()回滚事务。

6、Hibernate有哪几种查询数据的方式?
   答:Hibernate查询数据的方式共有3种,分别是HQL,QBC和SQL。

7、JDO是什么?
   答:JDO是Java对象持久化的新的规范,为java data object的简称,也是一个用于存取某种数据仓库中的对象的标准化API。JDO提供了透明的对象存储,因此对开发人员来说,存储数据对象完全不需要额外的代码(如JDBC API的使用)。这些繁琐的例行工作已经转移到JDO产品提供商身上,使开发人员解脱出来,从而集中时间和精力在业务逻辑上。另外,JDO很灵活,因为它可以在任何数据底层上运行。JDBC只是面向关系数据库(RDBMS)JDO更通用,提供到任何数据底层的存储功能,比如关系数据库、文件、XML以及对象数据库(ODBMS)等,使得应用可移植性更强。

8、说出数据连接池的工作机制是什么?
   答:服务器启动时会建立一定数量的池连接,并一直维持不少于此数目的池连接。客户端程序需要连接时,池驱动程序会返回一个未使用的池连接并将其表记为忙。如果当前没有空闲连接,池驱动程序就新建一定数量的连接,新建连接的数量有配置参数决定。当使用的池连接调用完成后,池驱动程序将此连接表记为空闲,其他调用就可以使用这个连接。

9、Hibernate中的update()和saveOrUpdate()的区别是什么?
   答:saveOrUpdate()方法可以实现update()的功能,但会多些步骤,具体步骤为:如果对象在该session中已经被持久化,不进行操作;对象的标识符属性(identifier property)在数据库中不存在或者是个暂时的值,调用save()方法保存它。如果session中的另一个对象有相同的标识符抛出一个异常。以上皆不符合则调用update()更新之。

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值