0

我正在使用 Scala 的 squeryl(版本 0.9.6-RC1 和 scala 2.10)并尝试将我的模型序列化为 H2 数据库。

我的模型类有一些字符串字段和一些 BigDecimal 类型(scala.BigDecimal)。

我使用模型类中的 Schema.create 创建数据库模式,不幸的是 squeryl 总是为 BigDecimal 创建太小的字段,这使我的列值太长 "MULTPZ DECIMAL(20, 16) NOT NULL": "1000000.0000000000000000 (23)";

这是 squeryl 中的某种错误吗?原始值是"1000000.0000"并且被正确解析为 BigDecimal。

我已经测试了上述情况,我创建了一个单独的表,其中字段定义为"DECIMAL(20, 20)",在这种情况下 squeryl 尝试插入"1000000.00000000000000000000 (27)"

4

1 回答 1

3

最简单的解决方法是覆盖defaultSizeOfBigDecimalSchema 中的方法。它返回一个元组,其中包含包含 BigDecimal 的数字列的长度和比例。您还可以使用 @Column 注释在每个字段的基础上设置这些值。

于 2013-07-01T15:46:35.883 回答