2011-10-19 39 views
4

我使用JPA與休眠和Oracle數據庫(甲骨文11.2 xe)。我試圖保存一個很大的數字,但是保存在數據庫中的數據並不是我輸入的大數字。BigDecimal不正確保存在數據庫中使用JPA

我有一個欄,我想存儲映射這樣一個大的十進制數:

@Column(name = "INVOICE_AMOUNT", precision = 25, scale = 2, nullable = false) 
private BigDecimal amount; 

在DB列是這樣創建的:

INVOICE_AMOUNT NUMBER(25,2) DEFAULT 0 NOT NULL, 

問題是,當我試圖存儲號碼「19999979998000000」。就在我的堅持我調試的領域和它說:

amount = {[email protected]}"1.9999979998E+16" 

但在DB存儲是20值...

版本:

jpa 1.0 
hibernate-3.2.6.ga.jar 
jboss-4.2.3.GA 

上午什麼我做錯了?

回答

2

升級到ojdbc14版本10.2.0.5解決了問題(我認爲它在10.2.0.4中已修復)