我有简单的专栏:
@Column(name = "MYCOLUMN", precision = 19, scale = 2)
private BigDecimal myColumn;
我想保存例如new BigDecimal("1000000000000000000");
,但我实际得到的是1000000000000000000.00
,为什么Hibernate有这样的行为?我能以某种方式改变它吗?
答案 0 :(得分:0)
在你的DB中,这个想存储为double(mysql),因此scale = 2
实际上是2级
答案 1 :(得分:0)
使用此scale = 0
,然后在小数点后不会有0。
@Column(name = "MYCOLUMN", precision = 19, scale = 0)
private BigDecimal myColumn;
答案 2 :(得分:0)
如果你想要在getter方法中处理的大整数而不影响数据库模型
public BigInteger getMycolumn(){
return myColumn.toBigInteger()
}