使用了hibernate的项目发布时tomcat转weblogic 11出现"标示符无效"的问题

解决Hibernate与WebLogic HQL问题
本文描述了将项目从Tomcat迁移至WebLogic 11过程中遇到的HQL错误提示“标示符无效”的问题及解决方案。通过调整Hibernate配置和使用经典查询转换工厂,最终解决了实体类字段与数据库字段不匹配导致的问题。

前天把项目从tomcat转至weblogic11的时候发现了这么一个问题,

工作台提示"标示符无效",网上查了都没有什么类似的情况,

细一看,数据库里的字段加了下划线,实体类里的属性却没有加,起初认为是HQL写得不规范没有用参数化,也就是用问号来作预编译,

故而昨天改了一天,把HQL全部改成了问号模式而不是拼接字符串的方式,但是问题依旧存在,

估计是hibernate和weblogic11有些地方太过严谨或者是不兼容。

最后得出两种处理方法,第一种是纯用sql,不管是拼接字符串还是用问号预编译,都能成功

第二种是再hibernate属性中加上这么一段话:

<prop key="hibernate.query.factory_class">
					org.hibernate.hql.classic.ClassicQueryTranslatorFactory
				</prop>

然后再把所有的HQL加上别名,例如:

from movie m,movieinfo mi where m.movieid=mi.movieid
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值