2016-07-12 14 views
0

Ich habe einfach Säule:Warum speichert Hibernate BigDecimals mit 0 nach Punkt?

@Column(name = "MYCOLUMN", precision = 19, scale = 2) 
private BigDecimal myColumn; 

Und ich möchte zum Beispiel new BigDecimal("1000000000000000000");, retten, aber was ich eigentlich ist 1000000000000000000.00, warum Hibernate ein solches Verhalten hat? Kann ich es irgendwie ändern?

Antwort

0

In Ihrer DB dies als Doppel (mysql) gespeichert werden möchte und somit scale = 2 ist in der Tat Maßstab 2

0

verwenden scale = 0 und dann haben Sie nicht ein 0 nach dezimal.

@Column(name = "MYCOLUMN", precision = 19, scale = 0) 
private BigDecimal myColumn; 
0

Wenn Sie die große ganze Zahl wollen Sie in Getter-Methode behandeln könnte ohne Beeinträchtigung der DB Modell

public BigInteger getMycolumn(){ 
    return myColumn.toBigInteger() 
}