`

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

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

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

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

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

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

    hibernate中五个核心接口

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

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

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

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

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

    hibernate核心jar包

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

    hibernate主要知识点

    ### Hibernate 核心接口 #### Configuration Configuration 接口负责读取配置文件(如 `hibernate.cfg.xml` 或 `hibernate.properties`),并管理 Hibernate 的配置信息,包括数据库连接信息、Dialect、JDBC 驱动...

    hibernate_first_new项目源码

    1. Hibernate核心接口: - Session:这是与数据库进行交互的主要接口,它封装了SQL的执行,提供对象的保存、更新、删除和查询等操作。 - Transaction:处理数据库事务,保证数据的一致性和完整性。在Hibernate中,...

    hibernate核心代码

    下面将详细讲解Hibernate的核心代码及其相关知识点。 1. **配置文件**: Hibernate的核心配置文件是`hibernate.cfg.xml`,其中包含了数据库连接信息、方言设置、缓存配置等。例如: ```xml <hibernate-...

    Hibernate 文档.doc

    #### Hibernate核心接口 1. **Session接口** Session接口是执行持久化对象的CRUD(Create, Retrieve, Update, Delete)操作的主要工具。它负责与数据库的交互,执行SQL语句,但需注意,Session对象并非线程安全,...

    Hibernate 核心类库

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

    hibernate 核心技术

    【hibernate核心技术】主要涉及的是Java开发中的两个重要框架:Struts和Hibernate。这两个框架在企业级应用开发中有着广泛的应用,它们分别是MVC(Model-View-Controller)架构模式中的控制器和持久层解决方案。 ...

    Hibernate框架 jar 架包 开发详解

    Hibernate 简介 Hibernate 开发流程 Hibernate 配置文件 Hibernate 核心接口和类 Hibernate ORM映射 HQL Hibernate 懒加载机制与抓取策略 Hibernate 缓存 Hibernate 锁机制

    hibernate学习笔记

    七、Hibernate核心接口 1. `Configuration`接口: - 提供了管理配置信息的方法,用于创建`SessionFactory`。 - 主要方法`buildSessionFactory()`用于生成SessionFactory实例。 2. `SessionFactory`接口: - 管理...

    Hibernate3.1中文参考手册

    11. **API参考**:提供Hibernate核心接口和类的详细文档,方便开发者查阅和学习。 这份中文参考手册是开发者深入理解并有效利用Hibernate3.1的关键工具,无论是初学者还是经验丰富的开发者,都能从中获得宝贵的指导...

Global site tag (gtag.js) - Google Analytics