`
thinkerAndThinker
  • 浏览: 282887 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Hibernate的五个核心接口

 
阅读更多
所有的Hibernate应用中都会访问Hibernate的5个核心接口。

  Configuration接口:配置Hibernate,根启动Hibernate,创建SessionFactory对象只有一个SessionFactory。

  SessionFactory接口:初始化Hibernate,充当数据存储源的代理,创建Session对象。

  Session接口:负责保存、更新、删除、加载和查询对象。最重要的增删查改操作都是由session完成

  Transaction:管理事务。

  Query(HQL查询)和Criteria接口(QBC查询):执行数据库查询。



  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中五个核心接口

    ### Hibernate中的五个核心接口 #### 一、概述 Hibernate 是一款强大的对象关系映射(ORM)框架,它简化了 Java 应用程序与数据库之间的交互过程。通过将 Java 对象映射到数据库表中,Hibernate 提供了一种更加...

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

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

    Hibernate核心接口

    "Hibernate核心接口" Hibernate 是一种流行的 Java 持久化框架,它提供了多种核心接口来实现数据的持久化操作。这些核心接口是 Hibernate 的基础组件,任何 Hibernate 应用程序都需要使用它们。下面将详细介绍这五...

    Hibernate的五个核心接口介绍

    Hibernate五个核心接口介绍 Hibernate是一个基于Java的开源持久层框架,它提供了五个核心接口,分别是Configuration接口、SessionFactory接口、Session接口、Transaction接口和Query与Criteria接口。这些接口是...

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

    以上就是Hibernate核心开发接口的简要介绍。在实际开发中,通过熟练掌握这些接口和概念,我们可以高效地利用Hibernate进行数据库操作,降低系统的耦合度,提升开发效率。通过阅读给出的源码s2sh_Hibernate03_CoreAPI...

    Hibernate 3.2核心包

    5. Criteria API:这是一个更加面向对象的查询方式,允许开发者通过构建Criteria对象来构造查询,比传统的Query接口更加灵活和类型安全。 6. Native SQL支持:虽然Hibernate主要关注ORM,但它也允许直接执行原生的...

    Hibernate曾删改查接口实现

    "Hibernate曾删改查接口实现"这个主题,主要涉及的是如何利用Hibernate的核心接口进行数据的增、删、改、查操作。下面将详细讲解这些知识点。 **1. Hibernate基本概念** Hibernate是一个开源的ORM框架,它的核心是...

    Hibernate核心思想与接口简介

    Hibernate核心思想与接口简介 ...Hibernate 的五个核心接口分别是 Configuration 接口、SessionFactory 接口、Session 接口、Transaction 接口和 Query 和 Criteria 接口,每个接口都有其特点和应用场景。

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

    本篇将深入探讨Hibernate的五个核心接口:Session、SessionFactory、Transaction、Query和Configuration。 1. **Session接口**: Session接口是Hibernate的核心接口之一,提供了对持久化对象的基本操作,包括创建...

    hibernate-core 核心jar包

    `hibernate-core`是Hibernate的核心库,包含了执行ORM功能所需的主要组件。 在Hibernate-Core中,主要包含以下几个关键模块和概念: 1. **Session接口**:它是Hibernate的主要工作接口,提供了对数据库的操作方法...

    hibernate 常用核心包

    `javax.persistence.EntityManager` 和 `javax.persistence.EntityManagerFactory` 是 JPA 中的核心接口,它们提供了类似于 Hibernate `Session` 和 `SessionFactory` 的功能。 3. **hibernate-validator**: 这是 ...

    hibernate-3.2.6 核心jar包

    标题"hibernate-3.2.6 核心jar包"指出了这是一个关于Hibernate ORM框架的特定版本,即3.2.6版的核心库。ORM,全称为Object-Relational Mapping(对象关系映射),是Java开发中用于处理数据库操作的一种技术,它允许...

    hibernate核心jar包

    **标题:“Hibernate核心jar包”** 在Java世界中,Hibernate是一个流行的对象关系映射(ORM)框架,它简化了数据库操作,将Java对象与数据库表之间的交互转化为简单的API调用。核心jar包是Hibernate框架的基础,...

    hibernate核心代码

    Hibernate是一个开源的对象关系映射(ORM)框架,它允许Java开发者在Java对象和数据库之间建立映射,从而简化数据操作。下面将详细讲解Hibernate的核心代码及其相关知识点。 1. **配置文件**: Hibernate的核心...

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

    Hibernate核心接口是Hibernate框架的核心组件,负责将Java对象与数据库表进行映射。这些核心接口包括: * org.hibernate.SessionFactory:提供了对数据库连接的接口,用于创建数据库连接。 * org.hibernate.cfg....

    Hibernate的核心API

    【Hibernate的核心API】是Java开发中用于操作数据库的重要框架,其核心API主要包括持久化对象的生命周期管理、Session接口、Transaction接口、SessionFactory接口以及Configuration接口。本文将深入探讨这些关键概念...

    Hibernate 核心类库

    《Hibernate核心类库详解》 Hibernate,作为Java领域中的一款著名对象关系映射(ORM)框架,极大地简化了数据库操作,使得开发者可以更加专注于业务逻辑而不是底层数据存储。本篇文章将详细探讨`hibernate-release-...

    Hibernate3.6.10核心API

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

Global site tag (gtag.js) - Google Analytics