Precisão BigDecimal não persistente com anotações JPA

Estou usando a API javax.persistence e o Hibernate para criar anotações e persistir entidades e seus atributos em um banco de dados Oracle 11g Express.

Eu tenho o seguinte atributo em uma entidade:

@Column(precision = 12, scale = 9)
private BigDecimal weightedScore;

O objetivo é manter um valor decimal com um máximo de 12 dígitos e um máximo de 9 desses dígitos à direita da casa decimal.

Depois de calcularweightedScore, o resultado é 0.1234, mas depois de confirmar a entidade com o banco de dados Oracle, o valor é exibido como 0.12.

Posso ver isso usando um objeto EntityManager para consultar a entrada ou visualizando-a diretamente na interface do Oracle Application Express (Apex) em um navegador da web.

Como devo anotar meu atributo BigDecimal para que a precisão seja mantida corretamente?

Nota: Usamos um banco de dados HSQL na memória para executar nossos testes de unidade, e ele não enfrenta o problema com a falta de precisão, com ou sem o@Column anotação.

Atualizar:

Olhando para a descrição da tabela, a definição doweightedScore coluna éNUMBER(19, 2). Eu também já tentei mudar a anotação para@Column(columnDefinition="Number(12, 9)"), mas isso não teve efeito. Alguém sabe por que a Oracle não responde a essas anotações?

questionAnswers(2)

yourAnswerToTheQuestion