Chapter 1. 在Tomcat中快速上手
1.1. 开始Hibernate之旅
这份教程讨论如何在Apache Tomcat servlet容器中为web程序安装 Hibernate 2.1。Hibernate
在大多数主流J2EE引用服务器 的受管理环境中都可以良好运作,也可以作为独立应用程序运
行。在本例中的示例数据库系统是PostgreSQL 7.3,当然也可以 很容易的换成Hibernate 支持的
其它16种数据库之一。
第一步是拷贝所有需要的运行库到Tomcat去。在这篇教程中,我们使用一个单独的web程序
(webapps/quickstart)。我们要考虑全局库文件搜索路径(TOMCAT/common/lib)和本web应用
程序上下文的类装载器搜索路径(对于 jar来说是webapps/quickstart/WEB-INF/lib,对于
class文件来说是webapps/quickstart/WEB-INF/classes)。我们把这两个类装载器级别分别称
为全局类路径(global classpath)和上下文类路径(context classpath)。
1. 首先,把数据库需要的JDBC驱动拷贝到全局类路径。这是tomcat附带的DBCP连接池软件所要
求的。对于本教程来说,把 pg73jdbc3.jar库文件(对应 PostgreSQL 7.3和JDK 1.4)到全局
类装载器路径去。如果你使用一个不同的数据库,拷贝相应的JDBC 驱动)。
2. 不要拷贝任何其他东西到全局类装载器去。否则你可能在一些工具上遇到麻烦,比如 log4j,
commons-logging等。 记得要使用每个web应用程序自己的上下文类路径,就是说把你自己的
类库拷贝到WEB-INF/lib下去,把配置文件configuration/property拷贝到WEB-INF/classes
下面去。这两个目录默认都是上下文类路径级别的。
3. Hibernate本身打包成一个JAR库。hibernate2.jar文件要和你应用程序的其他库文件一起放
在上下文类路径中。在运行时,Hibernate还需要一些第三方库,它们在Hibernate发行包的
lib/目录下。参见 Table 1.1。把你需要的第三方库文件也拷贝到上下文类路径去。
4.要为Tomcat和Hibernate都配置数据库连接。也就是说 Tomcat要负责提供JDBC连接池,
Hibernate通过 JNDI来请求这些连接。Tomcat把连接池绑定到JNDI。
Table 1.1. Hibernate 第三方库
库
描述
dom4j (必需)
Hibernate在解析 XML配置和XML映射元文件时需要使用dom4j。
Hibernate在运行时使用这个代码生成库强化类(与Java反射机制联合
使用)。
CGLIB (必需)
Commons Beanutils,
Commons Collections,
Commons Lang,
Hibernat使用Apache Jakarta Commons项目提供的多个工具类库。
Commons Logging (必
需)
Hibernate提供了一个可选的ODMG兼容持久化管理界面。如果你需要映
射集合,你就需要这个类库,就算你不是为了使用ODMG API。我们在这
个教程中没有使用集合映射,但不管怎样把这个JAR拷贝过去总是不错
的。
ODMG4 (必需)
Hibernate使用Commons Logging API,后者可以使用Log4j作为实施
log的机制。如果把 Log4j库放到上下文类目录中,Commons Logging
酒会使用Log4j和它在上下文类路径中找到的log4j.properties文
件。在Hibernate发行包中包含有一个示例的properties文件。所
以,也把 log4j.jar拷贝到你的上下文类路径去吧。
Log4j (可选)