Я использую JPA с Hibernate и Oracle DB (Oracle 11.2 XE).Я пытаюсь сохранить большое число, но то, что сохраняется в БД, - это не то большое число, которое я ввел.
У меня есть столбец, в котором я хочу сохранить большое десятичное число, сопоставленное так:
@Column(name = "INVOICE_AMOUNT", precision = 25, scale = 2, nullable = false)
private BigDecimal amount;
В БД столбец был создан так:
INVOICE_AMOUNT NUMBER(25,2) DEFAULT 0 NOT NULL,
Проблема в том, что я пытаюсь сохранить номер "19999979998000000".Непосредственно перед тем, как сделать персистирование, я отладил поле и оно говорит:
amount = {java.math.BigDecimal@13204}"1.9999979998E+16"
Но в БД хранится значение 20 ...
Версии:
jpa 1.0
hibernate-3.2.6.ga.jar
jboss-4.2.3.GA
Что я делаю не так?