对Java 开发人员而言,对象关系映射已然成为那类问题了。当然我不是开发人员,我是做相关软件的,我们需要处理功能(processing power)、较佳设计模式及更好持久化框架的组合,从而使解决持久化设计变得更加清晰。最终,我们开始取得实质性的进展。现在,我们已逼近山峰,象Spring这样的框架就象是方程式的一部分,因为他们让对象关系映射(ORM)花较少的精力来做更多的事情。在本章中,你将看到三种框架:iBATIS, JDO及Hibernate:
·iBATIS 是一种JDBC助手类框架,它给了你一些OR映射及使用OR的好处,但不带 有太多的风险。
·JDO是一种饱受争议的持久化标准,但它有着一些独特的实现,这使得JDO在行业中也算得上是最完美的持久化框架之一。·Hibernate 是在JBoss组织控制下的一开源持久化框架。它可能是时下最为流行的持久化框架。大量的客户采用它,而且客户的数量还在持续稳定地增长。
与iBATIS集成
常言道:“树大招风”。在大肆宣扬的J2EE和.Net之争中, Sun的一示例应用程序被用来作为衡量应用服务器在运行时的各项性能的核心基准。 .Net非常好地打败了基于EJB的J2EE版本, 且方兴未艾。Clinton Begin 开发了iBATIS的持久化框架,他在iBATIS中使用PetStore的简化版,且自从那以后iBATIS就越来越流行。Spring提供非常优良的与iBATIS的集成功能, 在此章中将对其进行介绍。
并非所有的问题都非常适合持久化框架这朵盛开的花朵,中等难度的问题是最合适的环境。没有正确的技巧或不相称的问题,可能就会误入歧途。跟我一起教课的Ted Neward, 他是《Effective Enterprise Java》一书的作者,他经常把构建或采用持久化框架与美国的越南战争拿来做比较,进入这样的两场战争是很诱人的,但最终都很难赢得胜利,而且此二例中并不存在着行之有效的策略。关于这一话题,你仍可查阅http://www.neward.net上的相关内容。
然而,我不想扯得太远。尝试一下象iBATIS SqlMaps的框架给了你OR的使用模型又何尝不可呢?当然,我们不会强迫你一口吞下一只大象。具体来说,iBATIS让你:
·映射字段和SQL语句到关键字·使用SQL的全部功能而没有乏味的JDBC·从你的代码中剥离SQLSpring 与iBATIS的集成给了你这些及更多的裨益, 让我们为此而忙乎起来。