在Hibernate的源码包org.hibernate.impl下的类,是Hibernate针对自我接口的重要实现。Hibernate所有重要接口的实现都放在了这里。这里面的最重要的接口大部分由Gavin King所实现。在这些接口中最重要的要数 SessionImpl 。这个类的源码如下
java 代码
-
public final class SessionImpl extends AbstractSessionImpl
-
implements EventSource, org.hibernate.classic.Session, JDBCContext.Context {
-
。。。。。。
-
}
从这个类中我们可以看出很多的事情:
(1)首先作为Session的一个实现类,应该实现org.hibernate.Session.可接口中没有。打开org.hibernate.classic.Session发现继承了org.hibernate.Session。这样就有些明白了。但为什么不直接实现呢?通过看org.hibernate.classic.Session发现,这里面实现了很多Hibernate2的一些特性。从设计理念上来讲这样设计是非常的不错的。这个接口很明显是对Hibernate2的一个过渡,等大家都使用Hibernate3后,这个接口直接去掉即可。
(2)打开EventSource,有件非常让人困惑的事情,这个类也实现了org.hibernate.Session。这个就有些不解了,首先对于这个SessionImpl来说是不解的。这里的结构显得不是很清晰。可能这个EventSource在别的地方也用到了,这里使用EventSource只是顺手牵羊。如果大家有更好的解释可以在下面接着回复。
(3)这里的Context接口主要是对Session的事务的接口。这个接口也有些不寻常的地方,它居然是另一个类的内部接口。而且是静态的接口,这里可能是为了实现事务的同步。不过,给人的感觉不是特清楚。
总之,在实现上感觉Hibernate这个类的实现有些问题。当然,这样做也许非常的精妙。对于这个类下面有时间会接着讨论。
分享到:
相关推荐
- 下载Hibernate源码:首先从官方网站或镜像站点下载Hibernate的源码包,如hibernate-3.6.9。 - 创建Java项目:在Eclipse中新建一个Java工程,命名为hibernate-study或类似名称。 - 导入源码:将解压后的...
在深入探讨Hibernate源码之前,我们首先需要理解什么是对象持久化技术。对象持久化是将内存中的对象状态保存到持久存储介质(如数据库)中,以便在后续的程序运行中可以恢复这些对象的状态。它解决了应用程序中的...
标题"hibernate源码 直接使用"表明我们将探讨的是Hibernate框架的源代码,以及如何直接在项目中应用这些源代码。Hibernate是一个流行的Java ORM(对象关系映射)框架,它简化了数据库操作,将数据库交互转化为面向...
《Hibernate源码解析(一)》 在Java开发领域,Hibernate作为一款强大的对象关系映射(ORM)框架,极大地简化了数据库操作。深入理解Hibernate的源码,不仅可以帮助开发者更好地运用该工具,还能提升对Java编程和...
标题"传智播客hibernate源码"暗示了这是一个关于Hibernate框架的源代码学习资源,可能包含了对Hibernate框架内部机制的深入解析,以及如何在实际项目中应用Hibernate的相关示例。 描述中的内容重复,进一步确认了这...
Hibernate是Java领域中一款广泛应用的关系型数据库对象映射...总之,对Hibernate源码的学习不仅可以提升数据库操作的技能,还可以帮助开发者更好地理解和解决实际项目中的问题,实现更高效、更灵活的数据访问层设计。
本文将从多个角度探讨Hibernate源码中的核心概念和实现机制。 1. **持久化模型设计** Hibernate通过Java类和数据库表之间的映射(Mapping),实现了对象的持久化。在源码中,`hibernate.cfg.xml`配置文件定义了...
hibernate源码
在这个`hibernate-release-4.1.4.Final`版本中,包含了完整的Hibernate源码以及所有必要的jar包,使得我们可以深入理解其工作原理并进行定制开发。 首先,让我们探讨一下Hibernate的核心概念。Hibernate的核心是...
本文将详细阐述通过三种查询方式跟踪Hibernate源码的方法,帮助开发者更好地掌握其工作原理。 首先,我们来看第一种查询方式:HQL(Hibernate Query Language)查询。HQL是Hibernate专有的SQL方言,允许开发者以...
《Hibernate源码解析(三)》这篇文章主要探讨了Hibernate框架的深入源码解析,这是对 Hibernate 框架理解的进一步深化。在本篇中,作者聚焦于几个关键的组件和机制,帮助读者理解 Hibernate 如何高效地管理和操作...
【Hibernate入门案例源码】是针对初学者设计的一份教程,旨在帮助理解并掌握Java持久化框架Hibernate的基础应用。Hibernate是一个强大的ORM(对象关系映射)框架,它简化了数据库与Java对象之间的交互,使开发者可以...
7. **逆向工程**:Hibernate Tools支持从现有数据库生成Java实体类和映射文件,这在快速构建数据驱动的应用时非常有用。 8. **代码生成**:它可以根据实体类自动生成DAO和Service层的模板代码,减少手动编写的工作...
Hibernate源码(hibernate-orm-main.zip)Source Code: Hibernate ORM 是一个为应用程序、库和框架提供对象/关系映射 (ORM) 支持的库。 它还提供了 JPA 规范的实现,这是 ORM 的标准 Java 规范。
01 01Hibernate_Handwork : 手工配置使用Hibernate,其中详细标了Hibernate进行持久化的一些过程,因为是Hibernate的入门实例,所以注释很详细,其中有session的关闭后重建问题。 02 02Hibernate_UseMyEclipse: 利用...
综上所述,Hibernate源码分析涵盖了从配置解析、对象持久化、事务管理到高级特性的实现细节。通过对这些内容的深入理解,开发者可以更好地利用Hibernate,同时也能提升对ORM框架及数据库操作的理解。在实际开发中,...