15

我正在使用 Scala 和 Anorm 编写 Playframework 2.0 应用程序来访问数据库。

目前我正在使用Pk[Long]字段id,我担心需要额外get调用才能访问实际值。所以我开始使用普通Long字段id,一切仍然完美。

有什么Pk用,我应该使用它而不是普通类型吗?是否Pk为我提供了比普通类型更多的功能/好处?

4

1 回答 1

18

Pk允许您指定键入的主键。

另外,假设你有一个这样的人为模型:

case class MyModel(id: Pk[Long], foo: String)

您可以通过以下方式构建模型的实例:

MyModel(anorm.NotAssigned, "notKnownAtRuntime")

...如果您的数据库负责生成您的密钥,或者以其他方式:

MyModel(anorm.Id(123L), "knownAtRuntime")
于 2012-06-23T18:07:09.297 回答