Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/scala/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Scala 使用单个数据库会话初始化trait中的多个VAL_Scala_Initialization - Fatal编程技术网

Scala 使用单个数据库会话初始化trait中的多个VAL

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._

我们有几个特性,这些特性的字段是从数据库(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._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) 
}