Scala 情况下的 BigDecimal 精度 class

BigDecimal precision in Scala case class

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

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

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

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

unboxed tagged types 是正确的选择吗?

    在 class. 的情况下,
  1. Tagged 类型是 BigDecimal 具有默认精度的唯一出路
  2. SORM 默认使用 DECIMAL(65,30) 作为 Decimal 类型的列数据类型。这意味着您无法设置数据库列的精度,除非您自己创建表,或自定义 StdCreateTable.scala 以适当地处理它。