Chinaunix首页 | 论坛 | 博客
  • 博客访问: 119852
  • 博文数量: 14
  • 博客积分: 558
  • 博客等级: 中士
  • 技术积分: 140
  • 用 户 组: 普通用户
  • 注册时间: 2009-03-22 10:32
文章分类
文章存档

2013年(1)

2011年(1)

2010年(6)

2009年(6)

我的朋友

分类:

2010-06-30 11:29:37

刚上weblogic10.3,把原来在tomcat5.5上的Webwork+Springs+Hibernate应用迁移到weblogic上,发现原来在tomcat上运行的好好的应用,在weblogic上所有数据库操作动态页面都没有正确输出结果,但webwork tag成功解析了,页面静态内容部分也正常输出,神奇的是weblogic console和日志里均没有任何报错 -_-|
 
因为在tomcat上运行正常,开发人员又没时间配合调试,以为是weblogic配置的问题,搞了很长时间,查了n多文档,e文把眼珠子都快摧残了。最后自己写了一些应用测试,觉得问题应该在应用的配置上,而不是weblogic的问题。
 
今天趁开发有时间,跟他一起配好环境后调试,Eclipse里终于输出了一直在weblogic里没有的报错信息:
Root cause of ServletException.
org.springframework.orm.hibernate3.HibernateQueryException: ClassNotFoundException: org.hibernate.hql.ast.HqlToken [ from testone.domain.PhotoUser a where 1=1  and a.DelFlag = :DelFlag  order by a.Id desc]; nested exception is org.hibernate.QueryException: ClassNotFoundException: org.hibernate.hql.ast.HqlToken [ from testone.domain.PhotoUser a where a.DelFlag = :DelFlag  order by a.Id desc]
 at org.springframework.orm.hibernate3.SessionFactoryUtils.convertHibernateAccessException(SessionFactoryUtils.java:640)
 at org.springframework.orm.hibernate3.HibernateAccessor.convertHibernateAccessException(HibernateAccessor.java:412)
 at org.springframework.orm.hibernate3.HibernateTemplate.execute(HibernateTemplate.java:377)
 at org.springframework.orm.hibernate3.HibernateTemplate.executeFind(HibernateTemplate.java:342)
 at common.dao.impl.hibernate.GenericDaoHibernate.find(GenericDaoHibernate.java:237)
 Truncated. see log file for complete stacktrace
org.hibernate.QueryException: ClassNotFoundException: org.hibernate.hql.ast.HqlToken [ from testone.domain.PhotoUser a where 1=1  and a.DelFlag = :DelFlag  order by a.Id desc]
 at org.hibernate.hql.ast.HqlLexer.panic(HqlLexer.java:57)
 at antlr.CharScanner.setTokenObjectClass(CharScanner.java:340)
 at org.hibernate.hql.ast.HqlLexer.setTokenObjectClass(HqlLexer.java:31)
 at antlr.CharScanner.(CharScanner.java:51)
 at antlr.CharScanner.(CharScanner.java:60)
 Truncated. see log file for complete stacktrace
>
org.hibernate.hql.ast.HqlToken class找不到,查Hibernate包,发现包里面确实存在,应该是加载的问题......
 
在网上找了一下,发现遇到org.hibernate.hql.ast.HqlToken加载问题的例子不少,在配置文件里加上org.hibernate.hql.classic.ClassicQueryTranslatorFactory
就可以解决。
不同的应用可能配置文件有所不同,我们的应用是在applicationContext_sf.xml里加,有的是在hibernate.hbm.xml里加,具体是各自环境而定。
阅读(4294) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~