Oracle
 sql >> Base de Dados >  >> RDS >> Oracle

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


Eu encontrei a resposta. Huzá!

Tentei executar a seguinte consulta através da interface do Oracle Apex:

alter table NODE modify (WEIGHTEDSCORE NUMBER(12, 9));

Recebi um erro informando que uma coluna contendo dados não pode ser modificada para ter menos precisão ou menos escala. Este era o meu problema!

Como eu estava tentando alterar a tabela com dados existentes, precisei descartar a tabela e reiniciá-la ou alterar a coluna para ter apenas mais precisão e escala.

Tentei a seguinte consulta com sucesso:

alter table NODE modify (WEIGHTEDSCORE NUMBER(26, 9));

O raciocínio é que eu quero adicionar 7 casas de precisão à direita do decimal, então estou adicionando 7 à precisão geral para compensar o aumento na escala. Dessa forma, a coluna pode manter toda a precisão existente à esquerda do decimal enquanto adiciona precisão ao lado direito.