Hibernate框架(企业关注的技能)

Hibernate 框架

1、Hibernate框架主要解决什么问题?

       参考答案:Hibernate是一个ORM框架,即对象关系映射框架。能够将java类与关系数据库表进行映射,同时提供面向对象的数据查询(操作)机制,能够最大程度缩短程序员在SQLJDBC上的编程时间,从大量的数据持久层编程工作中解脱出来。

2、Hibernate属性文件主要包括哪些内容?

       参考答案:数据库访问的相关信息需要在Hibernate属性文件中进行配置,如数据库驱动类、连接池、用户名称、密码、需要映射的java类所在的包等。

3、Hibernate应用中的映射文件(hbm.xml)主要包括哪些内容?

       参考答案:映射文件都存在与根元素<hibernate-mapping>下,其中使用最多的元素是classClass下常用的子元素有:idpropertycomponentset、等。

4、Hibernate中持久化对象有哪三种状态?每种状态有什么特征?

       参考答案:

       (1) 瞬时状态(transient state):当通过new操作符实例化一个对象,而这个对象没有被session对象所管理,也就是说该对象没有与一个Session对象关联时,那么这个对象就是瞬时状态对象。瞬时状态对象不能被持久化到数据库中,也不会被赋予持久化标示(Identifier)。

       (2) 持久状态(persistent state):如果一个对象与session对象关联,例如被session对象刚加载的、刚保存的、刚更新的,那么该对象就是持久化状态对象。持久化对象与数据库中的一条记录对应,并拥有持久化标示(Identified),当持久化对象有所改变是,当前事务提交后,Hibernate会自动检测到对象的变化,并持久化的数据库中。

     (3)托管状态(detached state)当与持久状态对象关联的session关闭后,该对象就变成托管状态对象。托管状态的对象引用依然有效,可以继续使用。当托管状态的对象再次与某个Session关联后,托管状态对象将转变为持久化状态对象,托管期间进行的修改将被持久化到数据库中。

5、HQL语言与SQL的区别?

       参考答案:

       (1) HQL语言中出现的是类名、属性名,SQL语言中出现的是表名、字段名称。

       (2) HQL语言严格区分大小写,SQL语言不区分大小写。

       (3) HQL语言理解继承、多态等面向对象的概念。

6、一对多/多对一关联的实现方式有哪些?

       参考答案:

       (1) 基于朱外键的一对多/多对一关联:这种关联指的是从表通过外键参考主表的主键,从而实现关联。

       (2)基于连接表的一对多/多对一关联:这种关联指的是两个表之间不直接关联,而是把各自的主键存放到关联表中,维护二者的关联关系。

7、什么是Hibernate中的TPS?

       参考答案:

       TPSTable Per Subclass) 是Hibernate中一种实现继承映射的策略,即每个子类对应一张表,TPS 使用<joined-subclass>元素配置子类映射关系。

8、什么是Hibernate中的TPH

       参考答案:

       TPHTable Per Class Hierarchy)是hibernate中一种实现继承映射的策略,即每个子类对应的是表的一个分层结构。TPH策略中,使用<subclass>来配置子类,指定子类的区分字段值,同时配置子类扩展的属性。

9、什么是延迟加载?如何设置是否使用延迟加载?

       参考答案:

       延迟加载的意思是,当查询某个实例时,默认情况不查询其关联的实例。使用属性lazy可以设置是否使用延迟加载,lazy=”true” 表示使用延迟加载。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值