2013-01-09 74 views
0

我們從休眠1遷移項目冬眠3.3.1,並且我們與一些Querys一個問題:遷移Hibernate的1至3.3

java.lang.ClassCastException:java.lang.String中不能被轉換爲java.lang.Long中

,我們現在,使用休眠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

改變Hibernate配置屬性「hibernate.query.factory_class」使用ClassicQueryTranslator的HQL,問題就解決了......(至少對我來說)。

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