千家信息网

Hibernate中有哪些核心接口

发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,小编给大家分享一下Hibernate中有哪些核心接口,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!包括七大核心接口:Ses
千家信息网最后更新 2026年11月02日Hibernate中有哪些核心接口

小编给大家分享一下Hibernate中有哪些核心接口,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

包括七大核心接口:Session接口、SessionFactory接口 、Configuration 接口、Transaction 接口、Query 和Criteria接口、Callback 接口、策略接口。

1.Session 接口

Session 接口对于Hibernate 开发人员来说是一个最重要的接口。然而在Hibernate 中,实例
化的Session是一个轻量级的类,创建和销毁它都不会占用很多资源。这在实际项目中确实很重要,
因为在客户程序中,可能会不断地创建以及销毁Session 对象,如果Session 的开销太大,会给系
统带来不良影响。但值得注意的是Session 对象是非线程安全的,因此在你的设计中,***是一个
线程只创建一个Session对象。
在Hibernate 的设计者的头脑中,他们将session看作介于数据连接与事务管理一种中间接口。
我们可以将session想象成一个持久对象的缓冲区,Hibernate能检测到这些持久对象的改变,并及
时刷新数据库。我们有时也称Session是一个持久层管理器,因为它包含这一些持久层相关的操作,
诸如存储持久对象至数据库,以及从数据库从获得它们。请注意,Hibernate 的session不同于JSP
应用中的HttpSession。当我们使用session这个术语时,我们指的是Hibernate 中的session,而
我们以后会将HttpSesion 对象称为用户session。

2. SessionFactory 接口

这里用到了一个设计模式――工厂模式,用户程序从工厂类SessionFactory中取得Session 的
实例。
令你感到奇怪的是SessionFactory并不是轻量级的!实际上它的设计者的意图是让它能在整个
应用中共享。典型地来说,一个项目通常只需要一个SessionFactory就够了,但是当你的项目要操
作多个数据库时,那你必须为每个数据库指定一个SessionFactory。
SessionFactory在Hibernate中实际起到了一个缓冲区的作用,它缓冲了Hibernate自动生成的SQL
语句和一些其它的映射数据,还缓冲了一些将来有可能重复利用的数据。

3.Configuration 接口

Configuration 接口的作用是对Hibernate 进行配置,以及对它进行启动。在Hibernate 的启动
过程中,Configuration 类的实例首先定位映射文档的位置,读取这些配置,然后创建一个
SessionFactory对象。
虽然Configuration 接口在整个Hibernate 项目中只扮演着一个很小的角色,但它是启动
hibernate 时你所遇到的每一个对象。

4.Transaction 接口

Transaction 接口是一个可选的API,你可以选择不使用这个接口,取而代之的是Hibernate 的
设计者自己写的底层事务处理代码。 Transaction 接口是对实际事务实现的一个抽象,这些实现包
括JDBC的事务、JTA 中的UserTransaction、甚至可以是CORBA 事务。之所以这样设计是能让开
发者能够使用一个统一事务的操作界面,使得自己的项目可以在不同的环境和容器之间方便地移值。

5.Query 和Criteria接口

Query接口让你方便地对数据库及持久对象进行查询,它可以有两种表达方式:HQL语言或本
地数据库的SQL语句。Query经常被用来绑定查询参数、限制查询记录数量,并最终执行查询操作。
Criteria接口与Query接口非常类似,它允许你创建并执行面向对象的标准化查询。
值得注意的是Query接口也是轻量级的,它不能在Session之外使用。

6. Callback 接口

当一些有用的事件发生时――例如持久对象的载入、存储、删除时,Callback 接口会通知
Hibernate去接收一个通知消息。一般而言,Callback接口在用户程序中并不是必须的,但你要在你
的项目中创建审计日志时,你可能会用到它。

7.策略接口

Hibernate与某些其它开源软件不同的还有一点――高度的可扩展性,这通过它的内置策略机制
来实现。当你感觉到Hibernate 的某些功能不足,或者有某些缺陷时,你可以开发一个自己的策略来替换它,而你所要做的仅仅只是继承它的某个策略接口,然后实现你的新策略就可以了,以下是
它的策略接口:
◆主键的生成 (IdentifierGenerator 接口)
◆本地SQL语言支持 (Dialect 抽象类)
◆缓冲机制 (Cache 和CacheProvider 接口)
◆JDBC 连接管理 (ConnectionProvider接口)
◆事务管理 (TransactionFactory, Transaction, 和 TransactionManagerLookup 接口)
◆ORM 策略 (ClassPersister 接口)
◆属性访问策略 (PropertyAccessor 接口)
◆代理对象的创建 (ProxyFactory接口)

Hibernate为以上所列的机制分别创建了一个缺省的实现,因此如果你只是要增强它的某个策略
的功能的话,只需简单地继承这个类就可以了,没有必要从头开始写代码。

以上是"Hibernate中有哪些核心接口"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!

接口 对象 数据 策略 事务 数据库 项目 设计 查询 缓冲 实际 管理 核心 实例 机制 用户 程序 篇文章 设计者 轻量 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网络科技 互联网是第几次科技革命的成果 科技互联网技术 科技制造互联网公司 科技服务与互联网 互联网科技媒体 广州互联网络科技有限公司 无锡溥仪互联网科技有限公司 湖南洣水互联网科技有限公司扣款 北京华百购互联网科技有限公司 互联网系的金融科技公司 互联网金融中的现代科技 华夏互联网科技业 青海科技产业互联网发展 996高科技互联网公司 中和天地互联网科技有限公司 互联网金融科技元年 互联网科技包装股 广西科技产业互联网是什么 福仕德教育科技互联网 广州紫鲸互联网科技有限公司 与互联网科技公司 成都玖崟互联网科技有限公司乐商圈怎么样 互联网系的金融科技公司 互联网和黑科技的看法 互联网科技圈年度人物 杭州披云加互联网科技有限公司 容联科技互联网电商 互联网领先科技成果宣传视频 互联网 科技节活动 微视频大赛
0