Spring JPA:如何为百分比值建模
Posted
技术标签:
【中文标题】Spring JPA:如何为百分比值建模【英文标题】:Spring JPA: How to Model Percentage Value 【发布时间】:2017-12-02 13:08:32 【问题描述】:对于 Spring Boot 中的 Spring JPA:
在@Entity
类中:
属性将保存具有两位数精度的百分比值(例如:1.45 %
、-195.12 %
)
指定/建模这个最不容易出错的方法是什么?
【问题讨论】:
您可能正在寻找BigDecimal
。
【参考方案1】:
正如chrylis 已经评论过的,您应该使用 BigDecimal 作为类型。 此外,您可以使用 @Column 注释的精度和比例属性来定义百分比值。
@Column(precision = 5, scale = 4)
private BigDecimal percentage;
在这种情况下,百分比值由 0 到 1 之间的数字表示,其中包含 4 位小数。然后将 1.45% 存储为 0.0145。如果要将值存储为 1.45,可以使用 @Column(precision = 5, scale = 2)
但这当然也取决于您的数据类型。对于 MS SQL,例如这相当于小数(5,4)(请参阅here)。
您可以在this post 以及this page 中找到更多信息。
或者,您也可以使用 @Digits 注释来使用休眠验证,如 here 所述。
【讨论】:
以上是关于Spring JPA:如何为百分比值建模的主要内容,如果未能解决你的问题,请参考以下文章