包 作用 说明
jta.jar 标准的JTA API 必要
commons-logging.jar 日志功能 必要
commons-collections.jar 集合类 必要
antlr.jar ANother Tool for Language Recognition(antlr) 必要
dom4j.jar XML配置和映射解释器 必要
Hibernate3.jar 核心库 必要
asm.jar ASM字节码库 则必要
asm-attrs.jar ASM字节码库 如果使用“cglib”则必要
ehcache.jar EHCache缓存 如果没有其它的缓存,则它是必要的
cglib.jar CGLIB 字节码解释器 如果使用“cglib”则必要
Hibernate的核心接口一共有5个,分别为:Session、SessionFactory、Transaction、Query和 Configuration。这5个核心接口在任何开发中都会用到。通过这些接口,不仅可以对持久化对象进行存取,还能够进行事务控制。下面对这五的核心接口分别加以介绍。
•Session接口:Session接口负责执行被持久化对象的CRUD操作(CRUD的任务是完成与数据库的交流,包含了很多常见的SQL语句。)。但需要注意的是Session对象是非线程安全的。同时,Hibernate的session不同于JSP应用中的HttpSession。
这里当使用session这个术语时,其实指的是Hibernate中的session,而以后会将HttpSesion对象称为用户session。
•SessionFactory接口:SessionFactroy接口负责初始化Hibernate。它充当数据存储源的代理,并负责创建 Session对象。这里用到了工厂模式。需要注意的是SessionFactory并不是轻量级的,因为一般情况下,一个项目通常只需要一个 SessionFactory就够,当需要操作多个数据库时,可以为每个数据库指定一个SessionFactory。
•Configuration接口:Configuration接口负责配置并启动Hibernate,创建SessionFactory对象。在 Hibernate的启动的过程中,Configuration类的实例首先定位映射文档位置、读取配置,然后创建SessionFactory对象。
•Transaction接口:Transaction接口负责事务相关的操作。它是可选的,开发人员也可以设计编写自己的底层事务处理代码。
•Query和Criteria接口:Query和Criteria接口负责执行各种数据库查询。它可以使用HQL语言或SQL语句两种表达方式。
hibernate3.jar下具体文件夹说明
org.hibernate.type.* //Hibernate中定义的持久对象的属性的数据类型
org.hibernate.transaction.* //Hibernate Transaction实现类
org.hibernate.util.* //一些工具类,作用比较散
org.hibernate.tool.hbm2ddl.* //用hbm配置文件生成DDL
org.hibernate.sql.* //生成JDBC sql语句的包
org.hibernate.proxy.* //Proxy和Lazy Loading支持
org.hibernate.persister.* //核心包,实现持久对象和表之间的映射
org.hibernate.metadata.* //PO的Meta实现
org.hibernate.mapping.* //hbm文件的属性实现
org.hibernate.lob.* //Blob和Clob支持
org.hibernate.loader.* //也是很核心的包,主要是生成sql语句的
org.hibernate.jmx.* //只知道JMX是用来编写App Server的管理程序的,使得App Server可以通过JMX接口管理Hibernate
org.hibernate.impl.* //最核心的包,一些重要接口的实现类,如果Session,SessionFactory,Query等
org.hibernate.id.* //ID生成器
org.hibernate.hql.* //HQL实现
org.hibernate.engine.* //这个包的类作用比较散
//支持多种数据库特性,每个Dialect实现类代表一种数据库,描述了该数据库支持的数据类型和其它特点,例如是否有AutoIncrement,是否有Sequence,是否有分页sql等等
org.hibernate.dialect.*
org.hibernate.connection.* //几个数据库连接池的Provider
//Hibernate集合接口实现类,例如List,Set,Bag等等,Hibernate之所以要自行编写集合接口实现类是为了支持lazy loading
org.hibernate.collection.*
org.hibernate.cfg.* //配置文件读取类
org.hibernate.cache.* //JCS的实现类
org.hibernate.* //该包的类基本上都是接口类和异常类
Hibernate3.2 核心包作用
包 作用 说明
jta.jar 标准的JTA API 必要
commons-logging.jar 日志功能 必要
commons-collections.jar 集合类 必要
antlr.jar ANother Tool for Language Recognition(antlr) 必要
dom4j.jar XML配置和映射解释器 必要
Hibernate3.jar 核心库 必要
asm.jar ASM字节码库 如果使用“cglib”则必要
asm-attrs.jar ASM字节码库 如果使用“cglib”则必要
ehcache.jar EHCache缓存 如果没有其它的缓存,则它是必要的
cglib.jar CGLIB 字节码解释器 如果使用“cglib”则必要
以下包可选
versioncheck.jar 版本检查
swarmcache.jar
jboss-cache.jar TreeCache
jgroups.jar
xml-apis.jar JAXP API
c3p0-0.9.1.jar C3PO JDBC链接池
connector.jar JCA API
jboss-system.jar 使用TreeCache时必要
jacc-1_0-fr.jar JACC 库
checkstyle-all.jar
junit.jar
javassist.jar Javassist 字节码解释器
ant-lanuncher.jar
jaas.jar JAAS API
jdbc2_0-stdext.jar JDBC扩展API
ant-antlr.jar Ant antlr支持
jboss-jmx.jar
cleanimports.jar cleanimports
xerces.jar SAX parser JDK版本低于1.4时必要
jaxen-1.1-beta-7.jar Jaxen 如果想提高启动性能则去使用
ant-junit.jar Ant junit support
ant-swing.jar ant swing support
ant.jar
proxool.jar Proxool JDBC连接池
concurrent.jar 使用TreeCache需要
syndiag2.jar
总结:
最小必要包为antlr.jar,cglib.jar,asm.jar, asm-attrs.jar, commons-collections.jar, commons-loggins.jar ,encache.jar, dom4j.jar,log4j.jar,jta.jar
spring.jar是包含有完整发布的单个jar包,spring.jar中包含除了spring-mock.jar里所包含的内容外其它所有jar包的内容,因为只有在开发环境下才会用到spring-mock.jar来进行辅助测试,正式应用系统中是用不得这些类的。
除了spring.jar文件,Spring还包括有其它13个独立的jar包,各自包含着对应的Spring组件,用户可以根据自己的需要来选择组合自己的jar包,而不必引入整个spring.jar的所有类文件。
(1) spring-core.jar
这个jar文件包含Spring框架基本的核心工具类,Spring其它组件要都要使用到这个包里的类,是其它组件的基本核心,当然你也可以在自己的应用系统中使用这些工具类。
(2) spring-beans.jar
这个jar文件是所有应用都要用到的,它包含访问配置文件、创建和管理bean以及进行 Inversion of Control / Dependency Injection(IoC/DI)操作相关的所有类。如果应用只需基本的IoC /DI支持,引入spring-core.jar及spring- beans.jar文件就可以了。
分享到:
相关推荐
**标题:“Hibernate核心jar包”** 在Java世界中,Hibernate是一个流行的对象关系映射(ORM)框架,它简化了数据库操作,将Java对象与数据库表之间的交互转化为简单的API调用。核心jar包是Hibernate框架的基础,...
下面将详细介绍这五个核心接口:Configuration、SessionFactory、Session、Transaction 和 Query。 1. Configuration 接口: Configuration 接口是 Hibernate 的核心接口之一,它负责配置并启动 Hibernate,创建 ...
以上就是Hibernate核心开发接口的简要介绍。在实际开发中,通过熟练掌握这些接口和概念,我们可以高效地利用Hibernate进行数据库操作,降低系统的耦合度,提升开发效率。通过阅读给出的源码s2sh_Hibernate03_CoreAPI...
这个核心包包含了实现ORM功能所需的所有基本组件,使得开发者能够将Java类与数据库表进行映射,从而在Java应用中操作数据库变得更加方便。SSH(Struts、Spring、Hibernate)是Java Web开发中的经典三层架构,其中...
`javax.persistence.EntityManager` 和 `javax.persistence.EntityManagerFactory` 是 JPA 中的核心接口,它们提供了类似于 Hibernate `Session` 和 `SessionFactory` 的功能。 3. **hibernate-validator**: 这是 ...
Hibernate3.jar hibernate核心包 antlr-2.7.6.jar 一个语言转换工具(Hibernate利用它实现 HQL 到 SQL 的转换模板相关操作需要包) c3p0-0.9.1.jar c3p0数据源实现的jar文件 cglib.jar CGLIB 字节码解释器 commons-...
"Hibernate框架核心jar包"是进行Hibernate开发的基础,包含了实现ORM功能的核心类和接口。这个压缩包中的"hibernate-core"文件包含了Hibernate框架的核心组件,是进行web后端开发所必需的。 在Java web应用中,...
Hibernate的五个核心接口 Configuration SessionFactory Session Transcation Query和Criteria
下面将详细介绍这五个核心接口的功能和使用方法。 #### 二、Session 接口 Session 接口是 Hibernate 中最常用的一个接口,它是执行 CRUD(Create、Read、Update、Delete)操作的主要工具。Session 提供了多种操作...
这些jar文件包含了Hibernate的核心API、数据库驱动、缓存机制以及用于处理对象关系映射的类等。 描述中提到“这里基本涵盖了所需的绝大多数包”,这意味着这个压缩包可能包含了以下关键组件: 1. **Hibernate Core*...
它支持多种数据库,包括但不限于MySQL、Oracle、PostgreSQL等,通过JDBC(Java Database Connectivity)接口与数据库进行通信。 该驱动包的核心组件包括以下几个部分: 1. **Hibernate Core**:这是Hibernate的...
**Hibernate核心知识点** 1. **对象关系映射(ORM)**:Hibernate是一种ORM工具,它通过映射Java类到数据库表,使得开发者可以使用对象而不是SQL语句来操作数据库,提高了开发效率并降低了数据库操作的复杂性。 2. *...
这个“Hibernate框架jia包”包含了你需要在项目中使用Hibernate的所有核心库和依赖,确保你能顺利进行数据库操作。 1. **什么是Hibernate**: Hibernate是一个开源的ORM框架,它提供了一种在Java应用中持久化数据...
1. Hibernate核心库: - `hibernate-core.jar`:这是Hibernate框架的基础,包含了ORM(对象关系映射)的主要功能,如实体管理、会话工厂、查询语言等。这个jar包是使用Hibernate时必不可少的。 2. 数据库连接和...
hibernate核心架包是Java开发中用于对象关系映射(ORM)的重要工具,它极大地简化了数据库操作,使得开发者可以使用面向对象的方式来处理数据库事务。这个压缩包包含了一系列必要的库文件,使得开发者能够在项目中...
在Hibernate框架中,不同jar包扮演着不同的角色,以支持其核心功能。以下是对这些jar包的详细解释: 1. **hibernate2.jar**:这是Hibernate的核心库,包含了所有必要的API和实现,是使用Hibernate的基础,必须包含...
Session是与数据库交互的主要接口,它提供了 CRUD 操作。例如,保存一个实体: ```java Session session = sessionFactory.openSession(); Transaction transaction = session.beginTransaction(); User user =...