项目中本来使用了OJB作为持久层,但是一方面是由于代码编写水平的问题,另一方面也可能因为OJB本身的问题,造成数据库操作在大压力下总是出错。并且原先编写代码的人已经走了,而OJB社区、资料较少,所以维护极为困难。
   我的任务是使用Hibernate代替OJB。最后经过学习和DEMO的验证,我决定使用Spring+Hibernate来完成。其中Spring主要用到了ORM和IoC方面,并且利用了DAO思想。
   使用MyEclipse,首先新建Web Project,加入Spring、Hibernate性能,导入项目代码、lib、配置文件。然后在此基础上,加入自己编写的Dao类、接口,并且给原有的data beans加入setter/getter方法。在windows下仅调试了Hibernate相关的部分,OJB相关代码并未启动,一切正常。
   发布到Linux下的Tomcat时,总是报错:
Error creating bean with name 'sessionFactory' defined in file [/public/opt/jtc/webapps/mwsv4/WEB-INF/classes/config/applicationContext.xml]: Initialization of bean failed; nested exception is java.lang.AbstractMethodError: javax.xml.parsers.SAXParser.getXMLReader()Lorg/xml/sax/XMLReader; 
    即使仅将lib、代码导入,而在数据库操作时仍使用OJB,还是在解析OJB配置文件时出以下错:

java.lang.AbstractMethodError:
        at org.apache.tomcat.util.digester.Digester.getXMLReader(Digester.java:900)
        at org.apache.tomcat.util.digester.Digester.parse(Digester.java:1562)

……

最后将问题定位在lib中,MyEclipse为了J2EE项目引入的xercesImpl.jar和hibernate 3.1 core lib引入的xerces.jar存在则报上述错误,删去则一切正常。推测是同OJB库中的某个XML解析的库冲突了。但是由于时间问题,没有去细究。

删去这两个库后,项目迁移正常。但是估计之后在完全删除OJB相关部分时,可能会出错,那时可以考虑将这两个库再导入。

从OJB到Hibernate的迁移相关推荐

  1. 通过Spring集成从Hibernate 3迁移到4

    本周是时候将我们的代码库升级到最新的Hibernate 4.x了. 我们推迟了迁移(仍在Hibernate 3.3上),因为3.x分支的较新维护版本需要对API进行一些更改,这些更改显然仍在不断变化中 ...

  2. OJB和Hibernate框架的评议一

    OJB和Hibernate是我用过两个O/R Mapping框架,附带说一句,我用OJB比Hibernate的时间长多了,因此对Hibernate的了解不深,因此有一些看法可能会有误. 备注: OJB ...

  3. Hibernate第一次课(2)---Hibernate原理简介

    学员要求:熟悉Java.SQL.JDBC,掌握面向对象的开发方法,并有实际的项目开发经验. 培训目标:让学员了解O/R Mapping原理,掌握Hibernate开发的相关知识,并能使用Hiberna ...

  4. Hibernate Search 4.2最终发布:支持空间查询

    JBoss已宣布发布Hibernate Search 4.2 final. 您可以从Sourceforge下载它或使用Maven构件 . 在新版本中,包含了一些有趣的功能: Hibernate Sea ...

  5. hibernate oracle 读写分离_利用FDW进行ORACLE到Postgresql的数据迁移

    随着开源数据库技术的发展和去"O"工作的推进,越来越多企业生产系统选择使用Postgresql数据库.Pgsql采用多进程结构,其存储过程.函数的支持好于mysql.个人认为pgs ...

  6. 【转】Hibernate和IBatis对比

    原文地址:http://blog.csdn.net/ya2dan/article/details/7396598 项目也做过几个, 使用IBatis就做一个项目, 基本上都是使用Hibernate, ...

  7. hibernate oracle查询最大值_Java大数据:Mybatis和Hibernate对比分析

    在Java企业级平台开发任务当中,持久层框架的选择,Mybatis和Hibernate都占据一定的市场.从大趋势来说,传统企业偏爱Hibernate,而互联网更偏爱Mybatis.今天的大数据基础分享 ...

  8. Hibernate查询性能优化技巧

    数据库查询性能的提升也是涉及到开发中的各个阶段,在开发中选用正确的查询方法无疑是最基础也最简单的. SQL语句的优化 使用正确的SQL语句可以在很大程度上提高系统的查询性能.获得同样数据而采用不同方式 ...

  9. Hibernate与JPA

    本章首先给大家介绍持久化,ORM与DAO三个概念,以及它们之间的关系. 1.1持久化,DAO与ORM 介绍持久化,DAO与ORM三个概念,以及它们之间的关系. 1.1.1 持久化 数据在计算机中有两种 ...

最新文章

  1. inputstream 初始化_MyBatis初始化之加载初始化
  2. Dictionary,hashtable, stl:map有什么异同?
  3. SpringBoot 全局异常处理
  4. cloud foundry_Spring 3.1,Cloud Foundry和本地开发
  5. 面试官留步!听我跟你侃会儿Docker原理
  6. 4国语言软件下载网站源码
  7. 用 【NEST】 在C#中操作ElasticSearch
  8. 《C++ Primer Plus》读书笔记之七—内存模型和名称空间
  9. [IOS Tableview] cell自定义view显示错误问题
  10. 一次非常成功的项目经验分享和糟糕项目的对比
  11. McaFee企业版v8.0i设置指南
  12. 基于python的学生信息管理系统
  13. 计算机分区格式转换,硬盘GPT分区与MBR分区如何转换
  14. python图片转excel_利用python将图片转换成excel文档格式
  15. visual studio code Python终端运行_深入比较kaldi和python_speech_features提取的fbank特征之间的区别...
  16. python笔记27:数据分析之交叉分析
  17. 全志平台WiFi无法连接AP问题调试(1)问题分析
  18. 软考知识点梳理--项目评估
  19. 看图识数辨大小,人类独有的“数字感”被机器无意中学习了
  20. 计算机网络英语陈伟鸿,舒婷、陈伟鸿“同台”为母校厦门一中110岁庆生

热门文章

  1. 使用淘宝IP库获取用户ip地理位置
  2. 【生活】空调工作原理及基本操作
  3. steam中国版linux游戏下载,steam linux下载
  4. 解决error: (-210:Unsupported format or combination of formats) [Start]FindContours supports only CV_8U
  5. 权威发布丨2021 中国开源先锋 33 人之心尖上的开源人物
  6. 关于论文目录,一级标题加粗,而后面的.....与页码不加粗的正确设置方法
  7. python 外星人游戏下载大全_【Python】Python制作外星人入侵小游戏
  8. 如何使用peakview软件查看AB SCIEX 质谱下机数据
  9. 软考培训机构哪家好?
  10. iphone safari 小说网站 去除 弹框广告