前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Hibernate框架

Hibernate框架

作者头像
用户2909867
发布2018-08-22 11:07:19
3890
发布2018-08-22 11:07:19
举报
文章被收录于专栏:互联网大杂烩互联网大杂烩

Hibernate结构

Hibernate结构

Hibernate是一个开放源代码的对象关系映射框架,,对JDBC进行了非常轻量级的对象封装,所以任何可以使用JDBC的地方都可以用Hibernate来替代,实现了对象与关系数据库记录的映射关系,简化了开放人员访问数据库的流程,极大地提高了软件开发的效率。

Hibernate提供的接口

session

一个轻量级的非线程安全的对象,主要负责被持久化对象与数据的操作,可以使用SessionFactory来创建一个Session,当对数据库的所有操作都执行完,就关闭session,session在访问数据库时会建立与数据库的连接,这个连接只有在需要时才会被建立。

SessionFactory

负责初始化Hibernate,它可以被看作是数据源的代理,用来创建session对象,SessionFactory对象是线程安全的,可以同时被多个线程访问。一般而言,SessionFactory会在Hibernate启动时创建一次,因此,为了便于使用,SessionFactory应该用一个单例模式来实现,

Transaction

负责事物相关的操作,主要方法有commit()和rollback(),其中commit()方法用来负责事物的提交,rollback()方法负责事物的回滚,可以通过Session的beginTrancation()方法来创建。

Query

负责执行各项数据库操作,可以使用Hibernate查询语言或SQL语句两种方式查询,可以通过session.createQuery()方法创建Query()。此外,Hibernate还提供了另外一种查询方式QBC,使用方法是: 先使用session实例的createCriteria()方法创建Criteria对象,接着使用工具类Restrictions的方法Criteria对象设置查询条件,同时还可以用Older工具类设置排序方式,最后用Projections工具类的方法进行统计和分组,使用Criteria对象的list()方法进行查询并返回结果,需要注意的是,QBC是一种类型安全的面向对象的查询方式。

Configuration

用于读取Hibernate配置文件,并生成SessionFactory对象,其中配置文件有hibernate.cfg或hibernate.properties;另一类是映射文件.xml文件,为了方便管理,通常会给每个对象创建一个单独的映射文件。

Hibernate的工作流程

1.应用程序通过Configuration读取配置文件,并创建SessionFactory对象。

2.通过SessionFactory生成一个对象。

Session session=SessionFactory.openSession();

3.通过Session对象的beginTransaction()创建一个事物。 Transaction t=session.beginTransaction();接着可以通过Session对象的get()、load()、save()、update()、delete()和saveOrUpdate()等方法实现数据的加载、保存、更新、和删除等操作;也可以通过session生成一个Query对象然后利用Query对象执行查询操作;最后通过commit()方法或rollback()方法完成事物操作。

4.在完成所有持久化操作与事物操作后需要关闭Session与SessionFactory。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2017.02.21 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Hibernate结构
    • Hibernate提供的接口
      • session
        • SessionFactory
          • Transaction
            • Query
              • Configuration
                • Hibernate的工作流程
                领券
                问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档