java面试题网

普通会员

483

帖子

9

回复

187

积分

楼主
发表于 2018-03-23 17:04:49 | 查看: 5395| 回复: 0

《java面试宝典》之hibernate常见面试题

   hibernate 开发流程

1、是什么?

     hibernate是一种基于orm 的轻量级的框架

2、有什么?      

     1.对外提供操作数据库的接口

     2.事务的处理

     3.简化数据持久化的编程任务

 3、能干什么?

     1.orm

     2.提供操作数据库的接口

 4、怎么做?

     1.搭建hibernate的运行环境,将hibernate的包和hibernate所需要的包拷贝到lib 文件夹下

     2.Ovo

     3.R 

     4.配置文件

        4.1 cfg.xml 放在classes根目录下,默认名字为hibernate.cfg.xml

            a.与数据库的连接

            b.可选配置

            c.映射资源的注册

        4.2 hbm.xml文件 名字与类名相同 并且与类放在一起           

            a. 对象与数据库表之间的映射

            b. 对象的属性与数据库表的字段之间的映射

            c.组件之间的映射

            d.对象与对象之间的映射

    5、客户端

     1.得到SessionFactory 

     2.通过SessionFactory 工厂来创建Session实例

     3.打开事务

     4.操作数据库

     5.事务提交

     6.关闭连接   


hibernate 运行流程

一、整体流程

     1.通过configuration来读cfg.xml文件

     2.得到SessionFactory 工厂(根据数据库的连接来创建sessionfactory

     3.通过SessionFactory 工厂来创建Session实例

     4.打开事务

     5.通过sessionapi操作数据库

     6.事务提交

     7.关闭连接   

二 、save

     1.to--->po

     2.根基modelcfg.xml中映射文件的注册来找到hbm.xml文件

     3.根据hbm.xml文件中的unsave-value属性来判断是save还是update

     3.根据hbm.xml文件和model来动态的拼sql

     4.客户端提交或者刷新内存

     5.执行sql,值放到数据库

三、updatedelete

     1.根据model id在内存hibernate的实例池中查找该对象

       如果内存中没有就到数据库中查找来保证对象的存在

     2.根据modelcfg.xml文件中映射文件的注册来找到hbm.xml文件

     3.根据modelhbm.xml 文件来动态拼sql

     4.客户端提交或者刷新内存

     5.执行sql

 四、Query

     4.1 load

         1.根据model的类型来找到hbm.xml文件

         2.判断id对应的对象是否存在

         3.id做为查询条件来动态拼sql

         4.执行sql 查询(先在内存中查找,如果没有找到(会抛出例外),就去数

据库中查找)

         5.返回一个model类型的对象

     4.2 get

         4.执行sql 直接在数据库中查找,如果没有查到就会返回null

     4.3 query

        1.分析hql语句,得到model的类型

        2.根据moedelcfg.xml文件中映射文件的注册找到hbm.xml文件

        3.根据modelhbm.xml文件来动态拼sql

        4.执行sql查询数据库

        5.返回一个resultset

        6.循环resultset的值,放到model中在放到集合中



文章来自www.wityx.com,转载请注明出处!原文地址http://www.wityx.com/post/197_1_1.html


java面试题交流群:327440556

您需要登录后才可以回帖 登录 | 立即注册

java面试题网www.wuliaokankan.cnjava建站系统提供技术支持V2.1 网站地图 © 2016-2018