快速业务通道

将遗留Hibernate应用程序迁移到OpenJPA和EJB 3.0(二) - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-14

在 OpenJPA 中,配置映射文件的位置按照以下方式进行映射:

使用 <mapping-file> 元素。

配置 4. OpenJPA 映射位置

<persistence ...> <persistence-unit name="TEST"> ... <!-- Mapping files --> <mapping-file>META-INF/orm.xml</mapping-file> </persistence-unit>

3. 日志类别

Hibernate 应用程序的故障排除非常困难,因为 Hibernate 会基于映射文件中指定的元数据为您生成 SQL 命令。因此,将日志类别配置为查看 Hibernate 提交到数据库的准确 SQL 通常非常有用。

Hibernate 约定

在 Hibernate 中,日志类别的配置按照以下方式进行映射:

使用 show_sql 配置参数输出 SQL 命令。

配置 5. Hibernate 日志类别

... <hibernate-configuration> <session-factory> ... <property name="show_sql"> true </property> </session-factory> </hibernate-configuration>

如果研究 SQL 不足以诊断问题,Hibernate 中还提供了其他日志类别,但是您将发现在类路径的 log4j.properties 文件中配置了日志类别。(此处不介绍该文件的配置;请参考 Hibernate 文档,获得 关于配置其他 Hibernate 日志类别的信息。)

OpenJPA 约定

在 OpenJPA 中,日志记录的配置按照以下方式进行映射:

使用 openjpa.Log 配置属性输出 SQL。

使用 openjpa.ConnectionFactoryProperties 准确地输出 SQL。

将遗留Hibernate应用程序迁移到OpenJPA和EJB 3.0(二)(14)

时间:2011-09-18 Donald Vines

配置 6. OpenJPA 日志类别

<persistence ...> <persistence-unit name="TEST"> ... <properties> <property name="openjpa.Log" value="SQL=TRACE"> </property> <property name="openjpa.ConnectionFactoryProperties" value="PrettyPrint=true, PrettyPrintLineLength=72"> </property> </properties> </persistence-unit>

您还可以使用 openjpa.Log 配置属性将 OpenJPA 配置为输出其他日志信息。(请参见 OpenJPA 用户 指南。)

结束语

本文详细介绍了将使用 EJB 2.1 的专有 Hibernate 3 应用程序迁移到使用 OpenJPA 0.9.7 持久性提 供程序和 EJB 3.0 的行业标准 JPA 应用程序的案例研究。通过一系列常见场景描述了迁移情况,并且在 每个场景中,对 Hibernate 和 OpenJPA 的实现进行了并排比较。并排比较为那些将现有 Hibernate/EJB 2.1 应用程序迁移到 OpenJPA/EJB 3.0,以及在下一个项目中使用 OpenJPA/EJB 3.0 的用户提供了帮助 。

本文介绍了如何迁移组成遗留 Hibernate 应用程序的三个主要构建块(应用程序源代码、对象关系映 射和配置参数),并得出以下结论:

如果 Hibernate 应用程序源代码构造良好,并封装 Hibernate 调用,则对于常见场景,源代码的迁 移非常简单。对于没有封装 Hibernate 调用的程序,迁移将比较困难,但是与更改业务(会话、事务和 实体管理)逻辑相比,迁移还需要较多的语法更改。

由于对象关系映射已存在,所以您需要使用中间相遇迁移方法保持现有对象和数据模型。不能使用自 底向上方法从数据模型生成对象模型,也不能使用自顶向下方法从对象模型生成数据模型;迁移必须保持 两个模型。本文手动实现了中间相遇映射,但是 Dali JPA 工具或 IBM Design Pattern 工具包(请参见 参考资料)可以自动进行 Hibernate XML 到 OpenJPA XML的大部分迁移。

将常见配置参数从 Hibernate 迁移到 OpenJPA 非常容易,但是还可以使用许多其他参数来优化 OpenJPA 可能需要(也可能不需要)的遗留 Hibernate 应

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号