zoukankan      html  css  js  c++  java
  • hibernate学习系列-----(2)hibernate核心接口和工作机制

    在上一篇文章hibernate学习系列-----(1)开发环境搭建中,大致总结了hibernate的开发环境的搭建步骤,今天,我们继续了解有关hibernate的知识,先说说这篇文章的主要内容吧:

    1. Configuration类
    2. SessionFactory接口
    3. Session接口
    4. Transaction接口
    5. Query和Criteria接口

    下面就进行分类别地详细说明:

    Configuration类

    1. 功能描述:Configuration类负责管理Hibernate的配置信息作并根据配置信息启动Hibernate。
    2. 详细说明:提供数据库的链接参数;数据库连接池以及对象关系文件的配置,通过Configuration类来加载配置信息并且启动hibernate的应用程序
    3. hibernate的配置方法:(1):使用hibernate.properties文件进行配置;(2)使用xml文件进行配置,也就是“hibernate.cfg.xml”文件,推荐使用后者

    SessionFactory接口

    • SessionFactory实例对应一个数据存储源,我们的应用程序就是通过SessionFactory实例来获取我们的Session对象,SessionFactory的特点有:
      • (1)线程安全,一个SessionFactory实例可以被应用的多个线程共享
      • (2)重量级:需要很大的缓存来存储预定义的SQL语句以及映射数据,so,如果我们的应用程序只使用一个数据库,则只需建立一个SessionFactory对象即可

    Session接口

    • Session又被称之为持久化管理器,它提供了和持久化相关的CRUD操作,在hibernate中应用最为广泛。Session接口有哪些特点呢?
      • (1)线程不安全:它代表了我们对数据库的一次操作,因此在开发中应尽量避免多个线程共享同一个Session实例;
      • (2)轻量级:它的销毁和创建不需要消耗太多资源;
      • (3)hibernate的一级缓存:存放了当前工作单元加载的一些对象,每一个Session都有自己的缓存,缓存中的对象只能被当前的工作单元所使用;
      • (4)SessionFactory对象打开:使用完毕后要及时关闭。

    Transaction接口

    • Transaction接口是hibernate中的事务接口,它包括:JDBC API、JTA,hibernate在进行持久化操作时(CRUD),必须在事务中加以控制。

    Query和Criteria接口

    • Query和Criteria接口是hibernate中的查询接口:
      • (1)Query接口包装了一个HQL(Hibernate Query Language)查询语句。
      • (2)Criteria接口比较面向对象,擅长执行动态查询。

    hibernate的核心接口就大致说到这儿了,下面说一下hibernate的工作机制,先上图:

    图片1

    这张图还是比较好理解的,我就不再说明。

  • 相关阅读:
    5.集合(3)——Map集合
    4.集合(3)——List集合
    2.初窥集合类1
    1.正则表达式1
    (13)JSON
    (12)表单验证
    Wpf实现TreeSelect多选
    Wpf实现TreeSelect
    Wpf登录验证方式(5)-推理拼图的实现
    Wpf登录验证方式(4)-语序点选的实现
  • 原文地址:https://www.cnblogs.com/doctorJoe/p/4698976.html
Copyright © 2011-2022 走看看