Converter tipo BIT para tipo Java

7 respostas
V

Galera,

Estou desenvolvendo um sistema que usa o banco postgres, e nesse banco ha campos que são do tipo BIT.
So que quando eu mando gravar esta dando o seguinte erro:

ERROR: column "tlmalmfail" is of type bit but expression is of type boolean

O que eu pude fazer eu fiz. Ate colocar driver antigo do postgres eu ja coloquei.

Alguem saberia como resolver esse impasse?

Att

7 Respostas

U

O que você tem que armazenar nesses campos? Qual é o dado?

V

Olha, é 0 ou 1. Ai quando eu usei a ferramenta para gerar a engenharia reversa ele criou a classe com os atributos BIT como Boolean.

Att

U

Ou você altera manualmente o tipo da classe que foi gerada ou na hora de persistir faz o tratamento dos dados: se for false ele salva “0” se for true ele salva “1”… algo do tipo

V

Mas como que eu faço isso, passo o meu campo de boolean para String? ou de boolean para Integer?

Att

U

Lá no banco, qual o tamanho do campo?

Se for do tipo BIT(1) vocẽ salvaria true como “1” e false como “0”.
Se for BIT(2) seria true = “01” e false = “00”

E assim por diante…

V

Entao, como que euvou passar isso? Como String, Char, Integer!

Fiz o seguinte codigo:

public class Teste extends org.hibernate.dialect.PostgreSQLDialect {

    public Teste() {
        super();
        registerColumnType(Types.BIT, "varchar(1)");
    }
}
@Column(name = "tlmalmfail",columnDefinition = "varchar(1)", nullable=false)
    private boolean tlmalmfail;

E nada ainda.
Att

B

vcsmetallica, conseguiu resolver o problema?? Estou com a mesma situação aqui.

Criado 28 de março de 2012
Ultima resposta 29 de nov. de 2013
Respostas 7
Participantes 3