2016-08-08 42 views
0

我正在加載Amounts.class的實體列表,並且該列表包含我的表中的所有條目,但具有負值的條目除外;不能在Hibernate中檢索具有負雙倍的實體

@Table(name = "amounts") 
public class Amounts implements Serializable { 
    @Id 
    @GeneratedValue(strategy = GenerationType.IDENTITY) 
    @Column(name = "id") 
    private long id; 

    @Column(name = "payment_id") 
    private long payment_id; 


    @Column(name = "amount",length = 10,precision = 2) 
    private Double amount; 

    //getters and setters 
} 

我定義的長度和精密準確地適應它作爲我的表 但在量字段(-1400.00,-10.50等)爲負值沒有項目被裝載。

我該如何解決這個問題?

我已經試過原始雙和雙,有和沒有precission。

回答

1

您需要首先確認您的表模式實際上是用一列允許負值(FLOAT,DOUBLE)

此外,Column註釋的length元素應用於只有一個字符串值的列用於。您應該使用以下代替:

@Column(precision=10, scale=2) 
+0

我的表存儲,沒有錯誤的負值,當我使用普通的JDBC來獲取條目它正確地檢索所有條目,但持久性(休眠和使用javax持久性),它不會返回負數值的條目。在我的數據庫中,值以十進制(10,2)簽名 – UrielUVD

+0

已經在映射模型中嘗試過java BigDecimal,但結果相同 – UrielUVD

相關問題