No java (API jdbc) começamos a contar da primeira posição como sendo o 1 e
não o 0, a não ser que funcionasse diferente na versão atual da (API jdbc
postgres ), por isso o "getInt(1)", que retorna o primeiro campo da query, o
id do fluxo. É bem nessa linha onde ocorre o erro.


   - A chave é composta sim:  id_fluxo,id_solicitacao e id_unidade (mas não
   tem nenhum efeito no problema, não estou usando efetivamente mapeamento
   relacional (Hibernate...) ), apesar de ter as anotações com as classes de
   domínio geradas por um plugin.
   - Resultado do select no banco: (179,20,75,3,,A,51,2,1)

O estranho é que no java aparece -79 no stacktrace e a excessão foi gerada
pela API e capturada na minha aplicação.

Em 26 de setembro de 2011 14:07, Dickson S. Guedes
<[email protected]>escreveu:

> Em 26 de setembro de 2011 12:49, Tarcisio Martins
> <[email protected]> escreveu:
> > Integer no postgres e Integer no Java.
> >
> > Na minha query,
>
> ...
>
> > 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 ")
>
> ....
>
> >             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);
> >             }
>
> De onde vem?
>
>    flx.setNmSglUnidOrigem(rs.getString(8));
>     flx.setNmSglUnidDestino(rs.getString(9));
>     flx.setNrSituacaoAtual(rs.getInt(10));
>     flx.setNrSituacaoFutura(rs.getInt(11));
>
> Contei errado ou tem um problema ai na posição dos argumentos em
> relação à query?
>
> []s
> --
> Dickson S. Guedes
> mail/xmpp: [email protected] - skype: guediz
> http://guedesoft.net - http://www.postgresql.org.br
> _______________________________________________
> 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
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a