[RESOLVIDO] Como mapear um campo char do banco

Galera estou com problemas, tenho um campo do tipo char com tamanho 10 no banco que estou usando, porém nao consigo fazer o mapeamento correto desse campo, ja tentei as seguintes opções:

@Column(name="HIDROMETRO", columnDefinition="CHAR(10)") private char hidrometro;

@Column(name="HIDROMETRO", columnDefinition="CHAR(10)") private String hidrometro;

@Column(name="HIDROMETRO", length=10) private char hidrometro;

@Column(name="HIDROMETRO", length=10) private String hidrometro;

Sei que em o length nao funciona com valor do tipo char.

Alguem pode me dar uma luz de como fazer isso?? Obrigado.

Ninguém pessoal?

Em um post aqui o cara resolveu dessa forma

http://www.guj.com.br/java/234864-campo-char-no-hibernate-com-anotacoes-resolvido

Mas parece que é como seu primeiro exemplo

Pois é ja li esse post, e msm assim nao da certo ele me retorna um valor . Existe alguns campos vazios na tabela, mas esse nao seria o problema né ?

Cara, se tiver null no banco vai retornar null sim. Faz só um if pra isso e testa ai.

Sim, mas existe 2000 registro no meu banco e alguns estao com esse campo vazio, entoa os outro ele me deveria retornar normal.

Mas está dando NullPointerException?

Assim ele gerar essa exception:

select this_.CODIGO as CODIGO0_0_, this_.COD_ENDERECO as COD2_0_0_, this_.DATA_HIDROMETRO as DATA3_0_0_, this_.HIDROMETRO as HIDROMETRO0_0_, this_.NOME_PROPRIETARIO as NOME5_0_0_, this_.NUMERO as NUMERO0_0_, this_.SEQUENCIA as SEQUENCIA0_0_ from CONTRIBUINTE this_ Grave: org.hibernate.PropertyAccessException: Null value was assigned to a property of primitive type setter of br.com.agua.model.Contribuinte.hidrometro

Ele ate faz a consulta, repara que ele mostra no log a select q a criteria faz, mas em seguida gera a exception.

Acho que ele está tentando setar null nos campos que vem vazio, mas como seu atributo é primitivo ele não vai permitir isso…
ja tentou usar Wrappers?

Cara tente usar a classe wrapper Char.

E quando eu tiro a anotação do campo HIDROMETRO, ele gera o json normalmente pra mim, e existe alguns campos q tbm estão vazios em determinados registros. E funciona normalmente, o problema é no campo HIDROMETRO.

wrapper? Desculpe a ignorancia mas não conheço essa classe.

Classes wrappers como Character (desculpe, coloquei Char), Integer, Double, Long.

então… cada tipo primitivo (char, int, double) possui uma classe que “encobre” ele adicionando funcionalidades que são respectivamente(Character, Integer, Double)

assim você tem instâncias de classe ao invés de tipos primitivos, e sendo instâncias, aceitam valor null… a idéia é substituir:

private char hidrometro;[/code]por:[code]private Character hidometro;

se quiser ler mais sobre Wrappers leia esse artigo:

Tentei isso:

@Column(name="HIDROMETRO") private Character hidrometro;

Mas ele não encontra a pagina(404), estranho. Estou testando aqui!

Deve ter dado alguma Exception no console, se tiver, posta aqui

Ele simplesmente nao executa quando coloco Character

@Column(name="HIDROMETRO", columnDefinition="CHAR(10)") private Character hidrometro;

Mas qndo volto para char ele gera a exception.

Mas quando ele não executa, é gerado algum log no console?

Não, ele nem executa o metodo rest.