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:如何为百分比值建模的主要内容,如果未能解决你的问题,请参考以下文章

如何使 ConstraintLayout 使用百分比值?

如何为红移中字符串的唯一计数百分比?

如何为R中的百分比数据框制作分面饼图?

如何为所有交易添加基于百分比的附加费(加上附加税)

如何为无法获取进度百分比的耗时操作增加“伪进度条”?

如何在 Apple WatchKit 中为循环进度设置动画?