【发布时间】:2015-05-20 03:34:02
【问题描述】:
我使用的是 Slick 3.0,而且(当然)几乎所有的示例都涵盖了 Slick 2.x。事情发生了变化,坦率地说,看起来更加复杂,而不是更少。
这是一个例子:我想通过 id 获取一个对象(一个 GPPerson)。这就是我现在所拥有的,它似乎非常冗长......比 Slick 2.x 更详细:
def get(id: GPID): Option[GPPerson] = Await.result(
db.run(
people.filter(_.id === id).result), Duration.Inf
).headOption
在 Slick 2.x 中,由于隐式等原因,事情变得更容易了。不过以上似乎是我想出的最简洁的表达方式了。
它也没有真正解决我需要添加的异常处理。
【问题讨论】:
-
为了清楚起见,您正在使用
Await.result阻止您的线程。您可能知道,但在代码中看到它只是吓人。 -
我知道——Typesafe 中的所有 Slick 3.0 示例都是这样做的......
标签: scala playframework slick