`
KinGjN
  • 浏览: 50110 次
  • 性别: Icon_minigender_1
  • 来自: 天津
社区版块
存档分类
最新评论

Hibernate的五个核心接口介绍

阅读更多
Hibernate的五个核心接口介绍  所有的Hibernate应用中都会访问Hibernate的5个核心接口。
  Configuration接口:配置Hibernate,根启动Hibernate,创建SessionFactory对象。
  SessionFactory接口:初始化Hibernate,充当数据存储源的代理,创建Session对象。
  Session接口:负责保存、更新、删除、加载和查询对象。
  Transaction:管理事务。
  Query和Criteria接口:执行数据库查询。
  1.Configuration接口
  Configuration对象用于配置并且启动Hibernate。Hibernate应用通过Configuration实例来指定对象-关系映射文件的位置或者动态配置Hibernate的属性,然后创建SessionFactory实例。
  2.SessionFactory接口
  一个SessionFactory实例对应一个数据存储源,应用从SessionFactory中获得Session实例。SessionFactory有以下特点:
  它是线程安全的,这意味着它的同一个实例可以被应用的多个线程共享。
  它是重量级的,这意味着不能随意创建或销毁它的实例。如果应用只访问一个数据库,只需要创建一个SessionFactory实例,在应用初始化的时候创建该实例。如果应用同时访问多个数据库,则需要为每个数据库创建一个单独的SessionFactory实例。
  之所以称SessionFactory是重量级的,是因为它需要一个很大的缓存,用来存放预定义的SQL语句以能映射元数据等。用户还可以为SesionFactory配置一个缓存插件,这个缓存插件被称为Hibernate的第二级缓存。,该缓存用来存放被工作单元读过的数据,将来其他工作单元可能会重用这些数据,因此这个缓存中的数据能够被所有工作单元共享。一个工作单元通常对应一个数据库事务。
  3.Session接口
  Session接口是Hibernate应用使用最广泛的接口。Session也被称为持久化管理器,它提供了和持久化相关的操作,如添加、更新、删除、加载和查询对象。
  Session有以下特点:
  不是线程安全的,因此在设计软件架构时,应该避免多个线程共享同一个Session实例。
  Session实例是轻量级的,所谓轻量级,是指它的创建和销毁不需要消耗太多的资源。这意味着在程序中可以经常创建和销毁Session对象,例如为每个客户请示分配单独的Session实例,或者为每个工作单元分配单独的Session实例。
  Session有一个缓存,被称为Hibernate的第一级缓存,它存放被当前工作单元加载的对象。每个Session实例都有自己的缓存,这个Sesion实例的缓存只能被当前工作单元访问。
  4.Transaction接口
  Transaction接口是Hibernate的数据库事务接口,它对底层的事务接口做了封装,底层事务接口包括:
  JDBC API、JTA(Java Transaction API)、CORBA(Common Object Requet Broker Architecture)API
  Hibernate应用可通过一致的Transaction接口来声明事务边界,这有助于应用在不同的环境容器中移植。尽管应用也可以绕过Transaction接口,直接访问底层的事务接口,这种方法不值得推荐,因为它不利于应用在不同的环境移植。
  5.Query和Criteria接口
  Query和Criteria接口是Hibernate的查询接口,用于向数据库查询对象,以及控制执行查询的过程。Query实例包装了一个HQL查询语句,HQL查询语句和SQL查询语句有些相似,但HQL查询语句是面向对象的,它引用类句及类的属性句,而不是表句及表的字段句。Criteria接口完全封装了基于字符串的查询语句,比Query接口更加面向对象,Criteria接口擅长执行动态查询。
  Session接口的find()方法也具有数据查询功能,但它只是执行一些简单的HQL查询语句的快捷方法,它的功能远没有Query接口强大。
分享到:
评论

相关推荐

    Hibernate的五个核心接口介绍.png

    Hibernate的五个核心接口 Configuration SessionFactory Session Transcation Query和Criteria

    hibernate中五个核心接口

    关于hibernate核心接口的描述,其中能加深对hibernate的理解

    Hibernate的核心接口与类

    Hibernate的核心接口与类

    Hibernate核心接口

    Hibernate的核心接口一共有5个,分别为:Session、SessionFactory、Transaction、Query和Configuration。

    Hibernate教程03_Hibernate核心开发接口介绍

    http://blog.csdn.net/e421083458/article/details/8794127 该源码为Hibernate教程配套源码

    Hiberante中的五大核心接口.txt

    Hibernate的核心接口一共有5个,分别为:Session、SessionFactory、Transaction、Query和Configuration。这5个核心接口在任何开发中都会用到。通过这些接口,不仅可以对持久化对象进行存取,还能够进行事务控制。下面...

    hibernate的核心接口--Session

    Session是Hibernate中应用最频繁的接口,Session也被称为持久化管理器,它负责所有的持久化工作,负责管理持久化对象的生命周期,提供第一级别的高级缓存来保证持久化对象的数据与数据库同步

    hibernate核心包

    Hibernate3.jar hibernate核心包 antlr-2.7.6.jar 一个语言转换工具(Hibernate利用它实现 HQL 到 SQL 的转换模板相关操作需要包) c3p0-0.9.1.jar c3p0数据源实现的jar文件 cglib.jar CGLIB 字节码解释器 commons-...

    Hibernate3.6.10核心API

    Hibernate3.6.10核心编程接口API文档

    Hibernate核心思想与接口简介

    主要介绍了Hibernate核心思想与接口的相关内容,需要的朋友可以参考下。

    T21.2_Hibernate核心接口与类 java 经典教程 经典教材

    T21.2_Hibernate核心接口与类 java 经典教程 经典教材

    Hibernate体系结构的概要图

    下面对这6个核心接口分别加以介绍。   Session接口 Session接口负责执行被持久化对象的CRUD操作(CRUD的任务是完成与数据库的交流,包含了很多常见的SQL语句。)。但需要注意的是Session对象是非线程安全的。同时...

    Hibernate关键知识点大全

    Hibernate、JPA、JTA 核心接口

    J2EE企业级项目开发-3期(KC007) 5.3 探究Hibernate之核心接口文档.doc

    J2EE企业级项目开发-3期(KC007) 5.3 探究Hibernate之核心接口文档.doc 学习资料 复习资料 教学资源

    Hibernate核心类和接口的详细介绍

    今天小编就为大家分享一篇关于Hibernate核心类和接口的详细介绍,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧

    hibernate4.3完整jar包

    Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java...Hibernate的核心接口一共有6个,分别为:Session、SessionFactory、Transaction、Query、Criteria和Configuration。

    Hibernate介绍

    讲述了Hibernate的由来,优缺点,以及Hibernate中的核心接口

    马士兵hibernate学习笔记(原版)

    6 Hibernate核心开发接口介绍(重点) ... 风格 1 先脉络,后细节 2 先操作,后原理 3 重Annotation,轻xml配置文件 ... 性能优化 1 注意session.clear()的运用,尤其在不断分页循环的时候 2 1+N问题 ...

    Hibernate笔记 马士兵

    第1课 课程内容 6 第2课 Hibernate UML图 6 第3课 风格 7 第4课 资源 7 第5课 环境准备 7 第6课 第一个示例Hibernate HelloWorld 7 第7课 建立Annotation版本的...第14课 Hibernate核心开发接口(重点) 29 ........

Global site tag (gtag.js) - Google Analytics