flx.getId().setId(XYZ) por quê? É chave composta? Bruno E. A. Silva.
2011/9/26 Tarcisio Martins <[email protected]> > O erro acontece em: > > flx.getId().setIdFluxo(rs.getInt(1)); , segunda linha depois do > while(rs.next).... > > Em 26 de setembro de 2011 12:49, Tarcisio Martins < > [email protected]> escreveu: > > Integer no postgres e Integer no Java. >> >> Na minha query, >> >> >> select distinct (flx.id_fluxo, flx.id_unidade, flx.id_unidade_destino, >> flx.nr_seq, flx.dt_desativacao, flx.tp_status, flx.id_solicitacao, >> flx.nr_situacao_atual, flx.nr_situacao_futura) >> from public.usuario u >> inner join public.estrutura_organizacional eo on (u.id_unidade = >> eo.id_unidade) >> inner join public.relacionamento_eo_sol eosol on (eo.id_unidade = >> eosol.id_unidade) >> inner join public.protocolo prot ON (prot.id_unidade = >> eosol.id_unidade >> and prot.id_solicitacao = 51), >> public.fluxo flx >> where flx.id_unidade = prot.id_unidade and >> (flx.nr_situacao_atual, flx.nr_situacao_futura) not in ( >> select fl.nr_situacao_atual, >> fl.nr_situacao_futura >> from public.tramitacao tmtc, >> public.fluxo fl, >> public.protocolo prt >> where tmtc.nr_situacao_atual = fl.nr_situacao_atual and >> tmtc.nr_situacao_futura = fl.nr_situacao_futura and >> tmtc.id_protocolo = prt.id_protocolo and >> tmtc.id_unidade_origem = 20 >> ) >> , >> >> >> será que tem a ver com o distinct que coloquei? >> >> >> distinct (flx.id_fluxo, flx.id_unidade, flx.id_unidade_destino, >> flx.nr_seq, flx.dt_desativacao, flx.tp_status, flx.id_solicitacao, >> flx.nr_situacao_atual, flx.nr_situacao_futura), >> >> estou usando o getInt: >> >> >> // inicio FluxoDAO.java -> buscaPossiveisDestinos >> >> public List<Fluxo> buscaPossiveisDestinos(Integer id_solicitacao, >> Integer id_unidade_origem) throws SiprotGenericException { >> >> List<Fluxo> fluxo = new ArrayList<Fluxo>(); >> >> StringBuffer qry = new StringBuffer(512); >> qry.append("select distinct(flx.id_fluxo, flx.id_unidade, >> flx.id_unidade_destino, flx.nr_seq, flx.dt_desativacao, flx.tp_status, >> flx.id_solicitacao, ") >> .append("flx.nr_situacao_atual, flx.nr_situacao_futura ) ") >> .append("from public.usuario u ") >> .append("inner join public.estrutura_organizacional eo ") >> .append("on (u.id_unidade = eo.id_unidade) ") >> .append("inner join public.relacionamento_eo_sol eosol ") >> .append("on (eo.id_unidade = eosol.id_unidade) ") >> .append("inner join public.protocolo prot ON (prot.id_unidade = >> eosol.id_unidade and prot.id_solicitacao=? ),public.fluxo flx ") >> .append("where flx.id_unidade = prot.id_unidade and >> (flx.nr_situacao_atual,flx.nr_situacao_futura) not in ") >> .append("( select fl.nr_situacao_atual, fl.nr_situacao_futura >> ") >> .append("from public.tramitacao tmtc,public.fluxo >> fl,public.protocolo prt ") >> .append("where tmtc.nr_situacao_atual=fl.nr_situacao_atual ") >> .append("and tmtc.nr_situacao_futura=fl.nr_situacao_futura ") >> .append("and tmtc.id_protocolo=prt.id_protocolo ") >> .append("and tmtc.id_unidade_origem=? )"); >> System.out.println(qry.toString()); >> if (!super.getIsTransaction()) >> con = PostgresDAOFactory.createConection(); >> >> try { >> PreparedStatement ps = con.prepareStatement(qry.toString()); >> >> ps.setInt(1, id_solicitacao); >> ps.setInt(2, id_unidade_origem); >> >> ResultSet rs = ps.executeQuery(); >> >> while (rs.next()) { >> Fluxo flx = new Fluxo(); >> flx.getId().setIdFluxo(rs.getInt(1)); >> flx.getId().setIdUnidade(rs.getInt(2)); >> flx.setIdUnidadeDestino(rs.getInt(3)); >> flx.setNrSeq(rs.getInt(4)); >> flx.setDtDesativacao(rs.getTimestamp(5)); >> flx.setTpStatus(rs.getString(6)); >> flx.getId().setIdSolicitacao(rs.getInt(7)); >> flx.setNmSglUnidOrigem(rs.getString(8)); >> flx.setNmSglUnidDestino(rs.getString(9)); >> flx.setNrSituacaoAtual(rs.getInt(10)); >> flx.setNrSituacaoFutura(rs.getInt(11)); >> >> fluxo.add(flx); >> } >> >> ps.close(); >> >> return fluxo; >> } catch (SQLException ex) { >> throw new SiprotGenericException(ex.getMessage(), ex); >> } finally { >> if (con != null) { >> try { >> con.close(); >> } catch (SQLException ex) { >> throw new SiprotGenericException(ex.getMessage(), ex); >> } >> } >> >> } >> >> } >> >> // fim >> >> >> vou testar sem o distinct, mas tbém no bd a primeira coluna é 179 e como >> pode ver na excessão >> que está no stacktrace que enviei, aqui no java a API me mostra -79, troca >> o 1 pelo - , ou algo parecido... >> >> >> >> Em 26 de setembro de 2011 11:58, Flavio Henrique Araque Gurgel < >> [email protected]> escreveu: >> >> 2011/9/26 Tarcisio Martins <[email protected]>: >>> > Não estou usando Hibernate >>> > >>> > lc_collate = LC_COLLATE = 'pt_BR.utf8' >>> > >>> > client_encoding = 'UTF8' >>> > >>> > br.com.ufu.prograd.siprot.exception.SiprotGenericException: Bad value >>> for >>> > type int : -79,20,75,3,,A,51,2,1 >>> >>> Me parece que há um erro de mapeamento aí no seu sistema. Você está >>> tentando carregar um valor fracionário numa variável inteira. >>> Pode ser que nem haja erro no log do PostgreSQL porque a consulta pode >>> estar certa para o banco de dados. >>> >>> Qual o data type da coluna no PostgreSQL, e qual o data type da >>> variável em Java? >>> >>> []s >>> Flavio Gurgel >>> _______________________________________________ >>> pgbr-geral mailing list >>> [email protected] >>> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral >>> >> >> >> >> -- >> - Tarcisio Martins Ferreira, 2010 >> - Analista Desenvolvedor de Sistemas >> - Bacharel em Ciências da Comp. >> - Universidade Federal de Uberlândia >> - Minas Gerais >> >> >> > > > -- > - Tarcisio Martins Ferreira, 2010 > - Analista Desenvolvedor de Sistemas > - Bacharel em Ciências da Comp. > - Universidade Federal de Uberlândia > - Minas Gerais > > > > _______________________________________________ > pgbr-geral mailing list > [email protected] > https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral > >
_______________________________________________ pgbr-geral mailing list [email protected] https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
