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

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

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

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

领测软件测试网

为何不需要在weblogic Server 10.0中安装Kodo
  Kodo是Weblogic Server 10.0整体的一部分。核心Kodo库随Weblogic Server安装一起提供,可以在${bea.home}/modules/com.bea.core.kodo_4.1.3.jar中获得。Kodo 4.1.3构建于OpenJPA之上, Weblogic Server安装后还在${bea.home}/modules/org.apache.openjpa_0.9.7.jar中提供OpenJPA库。Kodo和OpenJPA依赖于其他几个开源jar(其中最著名的是用于字节码增强的serp)和规范jar,如jpa、jdo、jca或jta。所有这些必要的jar也可以从${bea.home}/modules/目录中获得。

  为了使用Kodo运行完全相同的应用程序,只需一个不同的persistence.xml。

persistence.xml

01 <?xml version="1.0"?>
02
03 <persistence xmlns="http://java.sun.com/xml/ns/persistence"
04   xmlns:xsi="
http://www.w3.org/2001/XMLSchema-instance"
05   xsi:schemaLocation="
http://java.sun.com/xml/ns/persistence
06     http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd"
07   version="1.0">

08   <persistence-unit name="test" transaction-type="JTA">
09     <provider>kodo.persistence.PersistenceProviderImpl</provider>
10     <properties>
11       <property name="kodo.ConnectionURL"           value="jdbc:mysql://localhost/kodoDB"/>
12       <property name="kodo.ConnectionDriverName"     value="com.mysql.jdbc.Driver"/>
13       <property name="kodo.jdbc.SynchronizeMappings" value="buildSchema"/>
14     </properties>
15   </persistence-unit>
16 </persistence>
  与使用Hibernate时的配置比较,惟一显著的变化是将提供者类名改为kodo.persistence.PersistenceProviderImpl。

  现在属性名不一样了。例如,在Kodo中可以通过设置kodo.jdbc.SynchronizeMappings为buildSchema来配置自动模式创建。

  经过最小限度的改变,我再使用Kodo作为提供者运行测试

$ ant -Dprovider=kodo$ ant -q -Dprovider=kodo
     [echo] =====================================================
     [echo]     Build Configuration for kodo
     [echo] =====================================================
     [echo] Base directory  : D:\project\switch
     [echo] Deployed Target : D:\project\switch/JPAService.ear
     [echo] EJB Module      : D:\project\switch/tmp/kodo-ejb.jar
     [echo] Configuration   : D:\project\switch/META-INF/kodo/persistence.xml
     [echo] Enhancing persistent classes
     [echo] Packaging EJB Module for kodo at D:\project\switch/tmp/kodo-ejb.jar
     [echo] Packaging EAR Module for kodo at D:\project\switch/JPAService.ear
     [echo] Packaging D:\project\switch/tmp/test-JPAService.jar for running the tests
     [echo] Undeploying JPAService from t3://localhost:7001 ...
     [echo] Deploying JPAService to t3://localhost:7001 ...
     [echo] Running JUnit Test: junit.TestJPAService ...
    [junit] Logical Persistence Provider is [kodo]
    [junit] Actual  Persistence Provider is [kodo.persistence.KodoEntityManagerImpl]
    [junit] Persisted Message [id:251 timestamp:1182762774929 body:A message sent for logging on 1182762774918]
    [junit] Time elapsed between the message to send and persisted is 11ms
  一切顺利。先前部署的Hibernate单元撤除了。新的部署使用Kodo作为提供者,并返回了正确的提供者。

 

延伸阅读

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


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

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