Scala案例类中的BigDecimal精度

时间:2016-02-20 21:12:16

标签: scala case-class scalatra sorm

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

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

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

  1. 如何设置BigDecimal字段的精度?
  2. 如何为invoiceAmount设置数据库列的精度?
  3. unboxed tagged types可以走了吗?

1 个答案:

答案 0 :(得分:1)

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