Scala 如何分离SORM实例?

Scala 如何分离SORM实例?,scala,sorm,Scala,Sorm,所用数据库的定义是实例对象,对吗?如何使其“可附加” 为什么??例如,在测试中更改使用的数据库会很好。我尝试了一些隐式定义,但没有成功…我的解决方案: case class Artist ( name : String, genre : Genre ) object Artist { def save(name: String, genre: Genre)(implicit Db: Instance) { ... Db.save(...) } } 然后,当我需要它时

所用数据库的定义是实例对象,对吗?如何使其“可附加”

为什么??例如,在测试中更改使用的数据库会很好。我尝试了一些隐式定义,但没有成功…

我的解决方案:

case class Artist ( name : String, genre : Genre )

object Artist {
  def save(name: String, genre: Genre)(implicit Db: Instance) {
    ...
    Db.save(...)

  }
}

然后,当我需要它时,我定义要用作数据库的隐式实例。

我不太确定您在“attachable”下的含义。你能说得更具体些吗?关于测试SORM实例的方式,您可以随时查看SORM的测试中它是如何进行的。
object Db extenses实例…
似乎在搞乱您的头脑。问题是您不必将实例作为单例,您完全可以自由地将它们声明为类或直接使用
Instance
类。“对象数据库”方法只是一个通用用例。而且,这种伴生对象方法看起来是一种严重的过度复杂化——您可以简单地将实例作为类的局部变量或使用它的函数。