精通Hibernate——Hibernate核心接口

应用程序可以通过Hibernate的API访问数据库,Hibernate API中的接口可分为以下几类:

提供访问数据库的操作(保存、更新、删除、查询)接口,这些接口包括Session、Transaction、Query接口

用于配置Hibernate的接口:Configuration

回调接口,使应用程序接受Hibernate内部发生的事件,并做出相关回应,这些接口包括:Interceptor、LifeCircle、Validatable接口

用于扩展Hibernate功能的接口

Hibernate内部封装了JDBC、JTA和JNDI。JDBC提供底层的数据库操作,只要用户提供了相应的JDBC驱动程序,Hibernate可以访问任何一个数据库系统,JNDI和JTA使Hibernate能够和J2EE应用服务器集成。下面我们来说说Hibernate的核心接口:

1、Configuration接口

Configuration对象用于配置并且根启动Hibernate。Hibernate应用通过Configuration实例来指定对象关系映射文件的位置或者动态配置Hibernate的属性,然后创建SessionFactory实例。

2、SessionFactory接口

一个SessionFactory实例对应一个数据存储源,应用从SessionFactory中获得Session实例,SessionFactory有以下特点:

他是线程安全的,这意味着他的同一个实例可以被应用的多个线程共享。

他是重量级,这意味着不能随便创建或者销毁实例。如果应用只访问一个数据库,只需要创建一个SessionFactory实例,在应用初始化的时候创建该实例,如果应用同时访问多个数据库,则需要为每一个数据库创建一个单独的SessionFactory实例。

之所以称SessionFactory是重量级的,是因为他需要一个很大的缓存,用来存放预定义的SQL语句以及映射元数据等。用户还可以为SessionFactory配置一个缓存插件,这个缓存插件被称为Hibernate的二级缓存,该缓存用来存放工作单元读过的数据,将来其他工作单元可能会重用这些数据,因此这个缓存中的数据能够被所有工作单元共享。一个工作单元通常对应一个数据库事务。

3、Session接口

Session接口是Hibernate应用使用最广泛的接口,Session也被称为持久化管理器,他提供了和持久化相关的操作,如添加、更新、删除、加载和查询对象。

session有以下特点:

不是线程安全的,因此在设计软件架构的时候,应该避免多个线程共享同一个session实例

Session实例是轻量级的,所谓的轻量级就是他的创建和销毁不需要消耗太多的资源。这意味着在程序中可以经常的创建或者销毁Session对象。例如为每一个客户请求分配单独的Session实例,或者为每个工作单元分配单独的Session实例。

session有一个缓存,称为Hibernate的一级缓存,这个Session实例的缓存只能被当前工作单元访问。

4、Transaction接口

Hibernate的数据库事务接口,他对底层事务接口做了封装,底层事务包括:

JDBC API

JTA(Java Transaction API)

CORBA(Common Object Request Broker Architecture) API

Hibernate应用可以通过一致的Transaction接口来声明事务边界,这有助于应用在不同的环境或者容器中移植

5、Query和Criteria接口

这两个是Hibernate的查询接口,用于向数据查询对象,以及控制执行查询的过程,Query实例包装了一个HQL(Hibernate Query Language)查询语句,HQL语句与SQL语句有些相似,但HQL语句是面向对象的,他引用类名以及类的属性名,而不是表名和表字段名。Criteria接口完全封装了基于字符串形式的查询语句,比Query接口面向对象,Criteria接口擅长于执行动态查询。

Session接口的find()方法也具有数据查询功能,但他只是执行一些简单的HQL查询的快捷方法,他的功能远没有query接口强大。

时间: 2025-01-24 14:01:31

精通Hibernate——Hibernate核心接口的相关文章

Hibernate的核心接口

Hibernate的核心接口一共有5个 Session.SessionFactory.Transaction.Query和Configuration SessionFactory接口 SessionFactroy接口负责初始化Hibernate.它充当数据存储源的代理,并负责创建Session对象. 这里用到了工厂模式.需要注意的是SessionFactory并不是轻量级的,因为一般情况下,一个项目通常只需要一个SessionFactory就够, 当需要操作多个数据库时,可以为每个数据库指定一个

Hibernate 之核心接口

1.持久化和ORM 持久化是指把数据(内存中的对象)保存到可持久保存的存储设备中(如硬盘),主要应用于将内存中的数据存储到关系型数据库中,在三层结构中,持久层专注于实现系统的逻辑层面,将数据使用者与数据实体进行关联. ORM简称对象-关系型数据映射,在编写程序时,处理数据采用面向对象的方式,保存数据却以关系型数据库的方式,因此需要一种能在两者之间进行转换的机制.这种机制称为ORM.ORM保存了对象和关系型数据库表的映射信息.Hibernate映射信息保存在XML格式的配置文件中. 2 Hiber

Hibernate五大核心接口

1. 首先我们介绍一下Configuration接口:配置Hibernate,根据其启动Hibernate,创建SessionFactory对象: 具体使用代码实例: SessionFactory sf = new Configuration().configure().buildSessionFactory(); SessionFactory stf = new AnnotationConfiguration().configure().buildSessionFactory();    //

hibernate 的核心接口

1.Configuration 配置hibernate并启动,并可以动态配置hibernate的属性.创建SessionFactory 2.SessionFactory .重量级,一个数据库对应一个.同时线程线程安全.配置缓存插件.存放读取过得数据.二级缓存. 3.session提供数据库相关的操作.不是线程安全的,轻量级.第一级缓存,当前工作单元加载的对象. 4.Transtation 事务接口,底层封装. 5.query和criteria查询接口.criteria更擅长动态查询

hibernate学习系列-----(2)hibernate核心接口和工作机制

在上一篇文章hibernate学习系列-----(1)开发环境搭建中,大致总结了hibernate的开发环境的搭建步骤,今天,我们继续了解有关hibernate的知识,先说说这篇文章的主要内容吧: Configuration类 SessionFactory接口 Session接口 Transaction接口 Query和Criteria接口 下面就进行分类别地详细说明: Configuration类 功能描述:Configuration类负责管理Hibernate的配置信息作并根据配置信息启动H

Hibernate的五大核心接口

Hibernate的核心接口一共有5个,分别为:Session.SessionFactory.Transaction.Query和 Configuration.这5个核心接口在任何开发中都会用到.通过这些接口,不仅可以对持久化对象进行存取,还能够进行事务控制.下面对这五的核心接口分别加以介绍. ·Session接口:Session接口负责执行被持久化对象的CRUD操作(CRUD的任务是完成与数据库的交流,包含了很多常见的 SQL语句.).但需要注意的是Session对象是非线程安全的.同时,Hi

hibernate核心接口,和扩展接口。回顾笔记,以前没记,现在补上,纯手工敲的。

hibernate核心接口: 所有的hibernate应用都会访问hibernate的5个核心接口 1,Configuration接口 Configuration用于配置并且根启动Hibernate.Hibernate应用通过Configuration实例来获取对象-关系映射文件中的元数据,以及动态配置Hibernate的属性,然后创建SessionFactory实例. 2,SessionFactory接口 一个SessionFactory实例对应一个数据存储源,应用从SessionFactor

Hibernate核心接口

所有的hibernate应用都会访问5个核心接口: configuration接口:配置Hibernate,根启动Hibernate,创建sessionfactory; sessionFactory接口:初始化Hibernate,充当存储数据源的代理,创建session对象; session接口:负责保存,修改,删除,查询,加载对象; transaction接口:管理事务. Query和criteria接口:执行数据库查询. Hibernate核心接口,布布扣,bubuko.com

Hibernate核心接口和类

“计应134(实验班)林曙光” Hibernate的核心类和接口一共有6个,分别为:Session.SessionFactory.Transaction.Query.Criteria和Configuration.这6个核心和类接口在任何开发中都会用到.通过这些接口,不仅可以对持久化对象进行存取,还能够进行事务控制.下面对这6个核心接口和类分别加以介绍. Session Session接口负责执行被持久化对象的CRUD操作(CRUD的任务是完成与数据库的交流,包含了很多常见的SQL语句.).但需要