Arredondamento (de decimais) de Double indevido

As vezes acontecia e eu não dava bola.

Agora peguei o erro e com certeza posso dizer.
No java está tudo ok, na hora q busco alguns valores do banco pra uma propriedade Double (wrapper) ele joga na tela tudo bonitão
Quando vou inserir esses valores numa outra tabela (comando insert)
ele arredonda pra cima (tirando os decimais)
Tipo 140,53 vira 141

Pelo amor de Deus, alguém já viu isso acontecer?

O banco de dados é Oracle

Debugando o codigo, o que está chegando no método do insert?

Ex:. ps.setDouble(1, seuAtributo).

Só para saber se o problema está no banco ou no método da classe.

Como está o campo da nova tabela no oracle?

Att.

Marco A.

Isso, ou debug ou pelo menos um log, nem que seja um system.out.println() antes de colocar.

bem, precisa ver se o tipo no banco de dados suporta essas casas decimais também.

Outra coisa, recomendo trocar o Double pelo BigDecimal, para fazer contas é mais confiável do que qualquer número que usa ponto flutuante…

abraços

O campo na tabela é mesmo double?
Como você está fazendo seu insert?

Não tem como eu debugar, esse sistema roda faz 3 anos.
Utiliza ibatis, nunca da problema em desenvolvimento e raramente da em produção.

Ai os usuarios relataram o problema, fiz o teste em produção e em tela aparece tudo ok, na hora de buscar os dados da tabela de preço do banco de dados, traz o preço corretamente.
Na hora que insiro o pedido no sistema. Faço uma query e o número está errado.

Parei o JBoss da produção e subi de novo, o problema parou de acontecer.

Agora estou providenciando a atualização do driver JDBC e da JDK do servidor, acreditando que possa ser isso.
Além disso posso controlar esse erro especificamente com uma trigger no banco de dados (que é o que vou fazer pra tentar garantir um pouco), porém não tenho como ter certeza se essa solução resolverá o problema.

Achei que poderia ser um bug conhecido, mas não encontrei nada no google.