【问题标题】:BigDecimal precision in Scala case classScala案例类中的BigDecimal精度
【发布时间】:2016-02-20 21:12:15
【问题描述】:

我在 Scalatra 应用程序中使用 SORM 作为 ORM。我使用Create 作为initMode,以便自动创建表。我有一个 BigDecimal 字段作为案例类的一部分,如下所示:

case class Invoice(invoiceId: String, invoiceAmount: BigDecimal)

我正在寻找两个问题的答案(可能只是一个答案):

  1. 如何设置 BigDecimal 字段的精度?
  2. 如何设置 invoiceAmount 的数据库列精度?

unboxed tagged types 是要走的路吗?

【问题讨论】:

    标签: scala case-class scalatra sorm


    【解决方案1】:
    1. Tagged types 是在 case 类中为 BigDecimal 设置默认精度的唯一方法。
    2. SORM 默认使用 DECIMAL(65,30) 作为 Decimal 类型的列数据类型。这意味着您无法设置数据库列的精度,除非您自己创建表,或自定义 StdCreateTable.scala 以进行适当处理。

    【讨论】:

      猜你喜欢
      • 2020-07-28
      • 2013-03-05
      • 2018-03-30
      • 1970-01-01
      • 2016-05-27
      • 1970-01-01
      • 1970-01-01
      • 2011-08-17
      • 1970-01-01
      相关资源
      最近更新 更多