Oracle
 sql >> Base de données >  >> RDS >> Oracle

La précision BigDecimal n'est pas conservée avec les annotations JPA

J'ai trouvé la réponse. Huzah !

J'ai tenté d'exécuter la requête suivante via l'interface Oracle Apex :

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

J'ai reçu une erreur indiquant qu'une colonne contenant des données ne peut pas être modifiée pour avoir moins de précision ou moins d'échelle. C'était mon problème !

Parce que j'essayais de modifier la table avec des données existantes, je devais soit supprimer la table et la réinitialiser, soit modifier la colonne pour n'avoir que plus de précision et d'échelle.

J'ai tenté la requête suivante avec succès :

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

Le raisonnement est que je veux ajouter 7 places de précision à droite de la décimale, donc j'ajoute 7 à la précision globale pour compenser l'augmentation de l'échelle. De cette façon, la colonne peut conserver toute la précision existante à gauche de la décimale tout en ajoutant de la précision à droite.