首先要感谢我所在的 Team 意识到了传统 JDBC 开发的种种不足,转而开始关注 O/R Mapping 领域的成果。说到 O/R Mapping,我认为在对象数据库还没有真正成熟的时候它是一个不错的选择,看看 SUN 的 JDO 2.0 规范吧,它的即将发布将会把这个领域推向更高的境界。再看看我们的开源社区呢,喔!发现了 Hibernate!从现在开始,我的焦点将放在 Hibernate 上面,一个优秀的O/R Mapping 工具。
在没有正式开始旅行之前,让我们区分几个名词。POJO:在 Hibernate 中代表包含 Seter、Geter 这些最基本操作的值对象。而 BO:代表包含一些业务逻辑的值对象,它的作用域很大,也就是说 BO 在充当持久类的同时可以传到 UI 层。PO:代表持久对象,是纳入 Hibernate 治理框架中的,在一定程度上可以和值对象的概念互换,值对象经过 Hibernate 进行处理,就变成了 PO 。Hibernate 配置文件:hibernate.cfg.xml 或 hibernate.properties,不过推荐使用 XML 格式。映射文件 *.hbm.xml:映射文件的作用是将 POJO 与关系型数据库数据相绑定,作为一个桥梁。另外,为数据库中的表进行手工编写映射文件可不是件好差事,幸好开源社区中也有一群同样想法的人,他们开发了 hibernateSynchronizer 映射工具,可到 http://www.binamics.com/hibernatesync/eclipse2.1/ 下载。
好了,现在去 http://www.hibernate.org 下载 Hibernate 的开发包(目前的版本是 2.1.6)。接着打开 Eclipse 2.1,在更新治理器中安装 hibernateSynchronizer。据说 Eclipse 3.0 已内置映射工具,不过我没有试。安装完毕后,新建一个 Web 应用程序 HibernateTest,接着为这个应用程序添加 Hibernate 类库 hibernate-2.1.6\hibernate-2.1\hibernate2.jar 及其依靠类库、数据库连接包,强烈建议把 hibernate-2.1.6\hibernate-2.1\lib 下的所有类库全部加载,如下图:
接着使用 hibernateSynchronizer 来生成 hibernate.cfg.xml 文件,新建——>其他——>Hibernate Configuration File,我使用的是 SQL Server 数据库,各项配置参数见下图: