Hibernate montado o SQL de inserção do Timestamp errado

2 respostas
D

Bom dia, pessoal.
Eu tenho uma aplicação desktop com hibernate e Spring que funcionava normalmente,
mas que começou a dar erros na inserção de campos do tipo Timestamp.

Codigo de insercão:

Caixa caixa=new Caixa(new Timestamp(Utilidades.getDate().getTime()),valorInicial,colaborador);
    	this.dataHoraInicial=new Timestamp(Utilidades.getDate().getTime());
    	this.dataHoraInicial.setNanos(0);
    	this.valorInicial=valorInicial;
    	this.colaborador=colaborador;
                caixaRep.get().save(this);
@Column(name="dta_hora_fim", nullable=true)
	private Timestamp dataHoraFim;

SQL gerado pelo hibernate:

insert into tb_caixa (co_seq_colaborador, dta_hora_fim, dta_hora_ini, valor_final, valor_inicial, co_seq_caixa) values (1, NULL, 2009-12-14 15:57:54.000000 -0200, NULL, 12.0, 331)

Observem que ele acrescenta o -0200 no campo, estou usando a versando 8.1 do postgre o campo no BD é without Time zone.
Tentei usar o setNanos mas não funcionou.
Eu aagradeço qualquer sugestão.

2 Respostas

R

Uma saída pode ser usar Date em vez de Timestamp, e anotar o campo com @Temporal:

http://www.oracle.com/technology/products/ias/toplink/jpa/resources/toplink-jpa-annotations.html#Temporal

D

Também tente isto e não funcionou.
Se tiver outra sugestão eu agradeço.

Criado 14 de dezembro de 2009
Ultima resposta 15 de dez. de 2009
Respostas 2
Participantes 2