首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > Web前端 >

hibernate3在weblogic8下部署出现的奇怪有关问题

2012-10-24 
hibernate3在weblogic8上部署出现的奇怪问题原来的一个在weblogic9上运行很正常的项目,框架采用的是spring

hibernate3在weblogic8上部署出现的奇怪问题
原来的一个在weblogic9上运行很正常的项目,框架采用的是spring2+hibernate3+struts1.2。在迁移到weblogic8.15的是出现了一个奇怪的hibernate映射问题。
比如我的HQL如下:

String hql=" from JstgLjdm where jstgLjdmId='11'";

JstgLjdm 是表jtsg_ljdm的映射,jstgLjdmId 是字段jtsg_ljdm_id的映射。
可是在执行的时候却报jstgLjdmId 无效的标识符。查看输出的sql语句为:
select XX字段 from JSTG_LJDM jstgljdm0_ where (jstgLjdmId='11' )

即JstgLjdm 已经能够翻译成表JSTG_LJDM,但是jstgLjdmId却没有能够翻译成jtsg_ljdm_id.
我确认hibernate映射文件没有问题。
如果我把我的HQL写成如下:
String hql=" from JstgLjdm where jstg_Ljdm_Id='11'";

执行就是完全正确的。

不知道是什么原因,请哪位有经验的人士指点一下。
说明一下:
我执行HQL用的是这个方法。
Query query = getSession().createQuery(hql);list = query.list();

并且hiberante3在weblogic8上部署要解决antlr.jar的问题,我已经通过在hibernate.properties文件中增加属性:hibernate.query.factory_class,属性的值是org.hibernate.hql.classic.ClassicQueryTranslatorFactory的方法解决问题了。
3 楼 dennis_zane 2007-10-25   汗,这表名、字段名也取的太恶心了吧 4 楼 exo905 2007-11-16   在weblogic启动的cmd文件里setPath中加入你工程里lib下面antsl**.jar包,就可以使用hibernate3的HQL了

热点排行