我有一个存储在数据库中的实体
public class data {
@Column(name = "id")
final String id;
@Column(name = "length")
final BigDecimal length;
}
当您从缓存反序列化并检索数据时,我会丢失零
预期:
data{id=3, length=6.00}
实际
data{id=3, length=6}
答案 0 :(得分:1)
是的。如果您的列指定了足够的精度,则数据库将以正确的精度保存数字。因此decimal(14,4)
最多可以保留4位小数。
但是,它不会记住原始精度。小数位数。如果您真的很在意它,那么您也需要存储它。或将您的号码存储为字符串。
这个问题实际上是this one的副本。
答案 1 :(得分:1)
尝试设置@Column批注的precision
和scale
属性。
请参阅:https://docs.jboss.org/hibernate/jpa/2.1/api/javax/persistence/Column.html