• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: | 推荐给好友 上一篇 | 下一篇

插入式持久性提供者的承诺:Kodo、OpenJPA和Hibernate

发布: 2008-6-25 14:30 | 作者: 不详 | 来源: 测试时代编辑整理 | 查看: 527次 | 进入软件测试论坛讨论

领测软件测试网

我的邮箱中有一个bug报告。它报告了在Weblogic server环境中的Hibernate和Kodo之间切换JPA持久性提供者时的一个问题。在再现这个bug的过程中,我学到了一些知识,包括如何在Weblogic Server 10.0中安装Hibernate,以及如何使用一个特定的持久性提供者X部署基于JPA的Web应用程序,然后再使用另一个持久性提供者Y重新部署它而不会使整体(指Weblogic Server)崩溃。

  这次经历促使我在一段停顿之后又开始了文章写作(New Yorker杂志的一幅 漫画 触发了我的写作灵感)。

  总之,这篇文章将:

描述在Weblogic Server 10.0中安装和配置Hibernate的工作过程
解答为何不必在Weblogic Server 10.0中安装Kodo或OpenJPA
展示一个非常简单的基于无状态会话Bean的服务的例子,并演示在Weblogic Server运行状态下在Hibernate、OpenJPA和Kodo之间切换JPA提供者的步骤
再现产生问题的bug,不仅是因为报告者认为这很严重,在经过简短的实验之后,我也认为如此
介绍这个bug如何造成应用服务器环境中JPA引导的变化
测试提供者切换的一个非常简单的方法
  我使用了一个简单的服务来检验是否使用了正确的提供者并且运行无误――虽然只是初步的持久性操作。这个简单的服务接口(我将基于它进行测试)如下所示:

JPAService.java

01 package service;
02 /**
03  * A very simple service to verify the persistence provider being used.
04  * The service also can persist a simple log message in a database.
05  * 
06  * @author ppoddar
07  *
08  */
09 public interface JPAService {
10   /**
11    * Returns the name of the active provider.
12    */
13   public String getProvider();
14  
15   /**
16    * Logs the given message.
17    *
18    * @param message an arbitray message string.
19    *
20    * @return a Message instance that has been persisted. The service will
21    * attach a timestamp to the message.
22    */
23   public Message log(String message);
24 }
  关于这个服务将如何实现还不明确;甚至没有说明它将使用JPA。这就是服务定义应有的方式――实现技术的不明确性(这里省略了通常的 IMO――这是我的观点――也许是谦虚的,也许恰恰相反)。

基于JPA和会话Bean的应用程序入门
  我将简短地讨论一下如何在使用JPA的无状态会话Bean中实现这个服务。这是相当基本的知识。如果您已经熟悉JPA,可以直接跳到 下一节。

延伸阅读

文章来源于领测软件测试网 https://www.ltesting.net/

TAG: hibernate Hibernate 持久性 提供者 Kodo OpenJPA


关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备10010545号-5
技术支持和业务联系:info@testage.com.cn 电话:010-51297073

软件测试 | 领测国际ISTQBISTQB官网TMMiTMMi认证国际软件测试工程师认证领测软件测试网