Erro usando SQL no Hibernate com Informix

7 respostas
C

Caros,
Estou usando hibernate 3 com informix.
Estou tentando fazer umas consulta no informix para gerar um relatorio usando SQL QUERY mas
não estou conseguindo executar (que para esse relatório seria o ideal o sql puro), apenas HQLs.

OBS:ANTES EU ESTAVA USANDO POSTGRES E NAO TINHA ESSE PROBLEMA.
JA TESTEI A QUERY NO CLIENT DO INFORMIX E FUNCIONA NUMA BOA!

Segue o erro abaixo:

<blockquote>org.hibernate.MappingException: No Dialect mapping for JDBC type: 3

at org.hibernate.dialect.TypeNames.get(TypeNames.java:56)

at org.hibernate.dialect.TypeNames.get(TypeNames.java:81)

at org.hibernate.dialect.Dialect.getHibernateTypeName(Dialect.java:217)

at org.hibernate.loader.custom.CustomLoader.getHibernateType(CustomLoader.java:176)

at org.hibernate.loader.custom.CustomLoader.autoDiscoverTypes(CustomLoader.java:146)

at org.hibernate.loader.Loader.getResultSet(Loader.java:1678)

at org.hibernate.loader.Loader.doQuery(Loader.java:662)

at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:224)

at org.hibernate.loader.Loader.doList(Loader.java:2145)

at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2029)

at org.hibernate.loader.Loader.list(Loader.java:2024)

at org.hibernate.loader.custom.CustomLoader.list(CustomLoader.java:118)

at org.hibernate.impl.SessionImpl.listCustomQuery(SessionImpl.java:1684)

at org.hibernate.impl.AbstractSessionImpl.list(AbstractSessionImpl.java:142)

at org.hibernate.impl.SQLQueryImpl.list(SQLQueryImpl.java:164)

at br.com.fabrimar.kanban.dao.impl.DemandaDaoImpl.findCargaMediaMaquinaBySQL(DemandaDaoImpl.java:66)

at br.com.fabrimar.kanban.manager.impl.DemandaManagerImpl.listaCargaMediaMaquinaBySQL(DemandaManagerImpl.java:44)

at br.com.fabrimar.kanban.action.RelatorioAction.resultadoCargaMediaMaquina(RelatorioAction.java:72)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)</blockquote>

ESTOU A DOIS DIAS TENTANDO FAZER ISSO FUNCIONAR!
OBRIGADO!!

7 Respostas

danieldestro

Título alterado de “######## ERRO USANDO SQL NO HIBERNATE COM INFORMIX ##############” para “Erro usando SQL no Hibernate com Informix”.

Por favor, não use títulos apelativos como você usou.

rafaelglauber

Oi,

Nesta sua query tem algum campo DECIMAL? Poderia colocar a definição da tabela e o SQL?

C

String sql = "select “+
”((sum (demanda.qtd_demanda_01 + demanda.qtd_demanda_02 + demanda.qtd_demanda_03 + "+
"demanda.qtd_demanda_04 + demanda.qtd_demanda_05 + demanda.qtd_demanda_07 + "+
"demanda.qtd_demanda_08 + demanda.qtd_demanda_09 + demanda.qtd_demanda_10 + "+
"demanda.qtd_demanda_11 + demanda.qtd_demanda_12) /11 ) * cons.qtd_horas) as anoAtual, "+

"(select ((sum (demanda_dois.qtd_demanda_01 + demanda_dois.qtd_demanda_02 + demanda_dois.qtd_demanda_03  + "+
					"demanda_dois.qtd_demanda_04 + demanda_dois.qtd_demanda_05 + demanda_dois.qtd_demanda_07  + "+
				  "demanda_dois.qtd_demanda_08 + demanda_dois.qtd_demanda_09 + demanda_dois.qtd_demanda_10  + "+
				  "  demanda_dois.qtd_demanda_11 + demanda_dois.qtd_demanda_12) /11  ) * cons.qtd_horas)  "+
				  "  from fbr_kbn_demanda as demanda_dois  "+
				  "   where demanda_dois.ano_ref ='2007'  AND demanda.cod_item = demanda_dois.cod_item) "+
				  "    as anoAnterior, "+
				  "    cons.cod_arranjo  as codigoArranjo, "+
				  "    item_um.cod_item  as codigoItem,  "+
				  "    descricaoItem.den_item  as descricaoItem, "+
				  "    ((sum(previsao.qtd_previsao_01 + previsao.qtd_previsao_02 +previsao.qtd_previsao_03 + "+
				  "          previsao.qtd_previsao_04 +previsao.qtd_previsao_05 +previsao.qtd_previsao_06 + "+
				  "          previsao.qtd_previsao_08 +previsao.qtd_previsao_09 +previsao.qtd_previsao_10 + "+
				  "          previsao.qtd_previsao_11 +previsao.qtd_previsao_12) / 11) * cons.qtd_horas ) as prev  "+
		"   FROM fbr_kbn_demanda as demanda , "+
		"   fbr_kbn_previsao as previsao, "+
		"	consumo as cons,  "+
		"	fbr_kbn_item as item_um,  "+
		"	item as descricaoItem  "+
	 " where demanda.ano_ref ='2008' "+
	 " AND   demanda.cod_item = previsao.cod_item  "+
	 " AND 	demanda.cod_item = cons.cod_item "+
	 " AND 	demanda.cod_item = item_um.cod_item "+
	 " AND   item_um.cod_item = descricaoItem.cod_item "+
	 " GROUP BY cons.qtd_horas,demanda.cod_item,cons.cod_arranjo,item_um.cod_item,descricaoItem.den_item ";
C

SEGUE ACIMA O SQL!

C

A resposta e sim, varias colunas sao decimais

rafaelglauber

Oi,

veja isso: http://opensource.atlassian.com/projects/hibernate/browse/HHH-1468

Qual a versão exata do Hibernate? É a mais nova? Se não for atualize e verifique se persiste o problema.

barbon

Este site um post com um erro semelhante, No Dialect mapping for JDBC type: 2002, de uma olhada:

http://www.patternizando.com.br/?p=118

Criado 7 de novembro de 2008
Ultima resposta 20 de jan. de 2011
Respostas 7
Participantes 4