我们正在将项目从hibernate 1迁移到hibernate 3.3.1,而且我们遇到一些Querys的问题:
java.lang.ClassCastException:java.lang.String无法强制转换为java.lang.Long
我们现在拥有的代码,用于使用hibernate 1但是使用hibernate 3.3.1获得上面的异常,代码是:
if(args!=null){
for(int i=0; i<args.length; i++)
queryObject.setParameter(i, args[i]);
}
args是一个Object []
和查询是,例如:
select obj.oid,obj.codTipoTrafico,obj.nomEmpresaOper,obj.codOrigen,obj.codFuente,obj.codIdnFuente,to_char(obj.fecFuente,'DD/MM/YYYY') from OperacionComercial obj where obj.indTpoOper = ? and obj.oidEmpresa = ? order by order by obj.oca desc
Hibernate不能再从
提前致谢
答案 0 :(得分:0)
更改hibernate配置属性“hibernate.query.factory_class”以使用ClassicQLTranslator进行HQL,问题解决了......(至少对我而言)。
<props>
<prop key="hibernate.query.factory_class">
org.hibernate.hql.classic.ClassicQueryTranslatorFactory
</prop>
</props>