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
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral