Точность BigDecimal не сохраняется с аннотациями JPA

Я использую javax.persistence API и Hibernate для создания аннотаций и сохранения сущностей и их атрибутов в базе данных Oracle 11g Express.

У меня есть следующий атрибут в сущности:

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

Цель состоит в том, чтобы сохранить десятичное значение с максимум 12 цифрами и максимум 9 из этих цифр справа от десятичного знака.

После расчетаweightedScoreрезультат 0.1234, но как только я фиксирую сущность с базой данных Oracle, значение отображается как 0.12.

Я могу убедиться в этом, используя объект EntityManager для запроса записи или просматривая его непосредственно в интерфейсе Oracle Application Express (Apex) в веб-браузере.

Как я должен аннотировать свой атрибут BigDecimal, чтобы точность сохранялась правильно?

Примечание: мы используем базу данных HSQL в памяти для выполнения наших модульных тестов, и она не испытывает проблемы с недостаточной точностью, с или без@Column аннотаций.

Обновить:

Глядя на описание таблицы, определениеweightedScore столбецNUMBER(19, 2), Я также попытался изменить аннотацию на@Column(columnDefinition="Number(12, 9)"), но это никак не повлияло. Кто-нибудь знает, почему Oracle не отвечает на эти аннотации?

Ответы на вопрос(2)

Ваш ответ на вопрос