Valor maluco retornado de uma coluna bigint(20) do mysql

4 respostas
Y

Galera, seguinte …

Tenho uma tabela pais no meu banco, aonde o codigo é auto incrementavel e do tipo bigint tamanho 20 e tmb tem um campo descricao do tipo varchar.

Quando eu pagino os valores desa tabela usando <c:forEach …>, o valor do codigo (ou seja, da coluna bigint(20)) é um numero muito doido, que nao tem nada haver com o que esta gravado no banco, vejam só:

Esse é o resultado da consulta SELECT * FROM pais LIMIT 5 no console do MySQL:

3 | Brazil
4 | United States
5 | China
6 | Japan
7 | Germany

E esse é o resultado da mesma consulta no meu browser:

[telefone removido] | Brazil
[telefone removido] | United States
[telefone removido] | China
[telefone removido] | Japan
[telefone removido] | Germany

QUE DOIDO HEIN?! 8O

4 Respostas

S

Como você recupera esta coluna? Tentou com getLong(), getObject()?

Y

Não, uso <c:out value=“cmp.pk_codigo_pais”/> … pelo que eu sei a jstl faz conversões automaticas aonde for preciso.

Y

O problema é que a coluna esta definida como UNSIGNED. Será que nao tem como retornar valores de colunas desse tipo? 8O

M

Leia essa coluna do banco no java e imprima, lá na persistência mesmo pra ver quais valores está retornando para este atributo. Só pra te certificar se o problema está lá na persistência ou na apresentação mesmo.

Criado 16 de julho de 2005
Ultima resposta 16 de jul. de 2005
Respostas 4
Participantes 3