我们有几个特征,其字段是从数据库(MySql之上的Slick)初始化的,例如。
trait MyTrait {
val field1 = db withSession { Table1.get(id1) }
val field2 = db withSession { Table2.get(id2) }
val field3 = db withSession { Table3.get(id3) }
...
}
我希望能够通过一个会话初始化它们。我可以做类似
的事情trait MyTrait {
private val tuple = db withSession { Table1.get(id1) -> Table2.get(id2) -> Table3.get(id3) }
val field1 = tuple._1
val field2 = tuple._2
val field3 = tuple._3
}
但我希望用更少的样板
来做答案 0 :(得分:2)
我认为这也应该有用吗? (您可能还可以在单个查询中检索所有3个ID ...)
private val (field1, field2, field3) = db withSession {
Table1.get(id1) -> Table2.get(id2) -> Table3.get(id3)
}