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

Responder a