Scala 使用单个数据库会话初始化trait中的多个VAL
我们有几个特性,这些特性的字段是从数据库(MySql之上)初始化的,例如 我希望能够用一个会话初始化它们。我可以做类似的事情Scala 使用单个数据库会话初始化trait中的多个VAL,scala,initialization,Scala,Initialization,我们有几个特性,这些特性的字段是从数据库(MySql之上)初始化的,例如 我希望能够用一个会话初始化它们。我可以做类似的事情 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._
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
}
但是我希望用更少的样板文件来做这件事我想这也应该行吗?(您可能还可以在一个查询中检索所有3个ID…)
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
}
private val (field1, field2, field3) = db withSession {
Table1.get(id1) -> Table2.get(id2) -> Table3.get(id3)
}