【发布时间】:2015-09-12 09:54:49
【问题描述】:
我的代码使用 Slick 3.0。它有一个常见的db 对象。
object Common {
private [database] val db = Database.forURL(
url = // read from config,
user = // read from config,
password = // read from config
)
}
然后,在我的数据库服务object 中,我的方法如下所示:
private lazy val myTableQuery = TableQuery[MyTable]
def getTableObjects: Future[Seq[MyTableObject]] = {
val action = myTableQuery.result
Common.db.run(action)
}
我在多个服务中重复使用Common.db。
在 Slick 3.0 中,运行 DB 调用的惯用方式是什么?
我在 Slick 2.0 docs 中看到可以使用隐式 session。
但是,我不确定我所做的在 Slick 3.0 中是否正确。
【问题讨论】:
-
我认为我们遇到了同样的问题,即为每个服务实例化数据库(因此会加载连接池)。也许那不是你的问题。 ://