【发布时间】:2014-04-26 22:55:24
【问题描述】:
我正在使用 Play 框架和 scala 开发应用程序。我正在使用 anorm 作为数据访问层。我有一个我无法解决的问题。
简介:我希望能够让数据访问对象 (dao) 中的方法在事务中工作以及被单独调用。
详情:
我的数据访问层由具有仅在数据库上执行特定 SQL 的方法的类组成。传统上它们看起来像:
def list() = DB.withConnection { implicit cn =>
...
}
现在我想在事务范围内执行一些方法。像传统的选择更新服务方法一样,但仍然能够单独运行它们。所以,我的想法是这样的:
class Service {
def fooTransacted() = {
inTransaction {
val old = dao.select(id = 2)
val newObj = old.copy(isActive = true)
dao.update(newObj)
}
}
def fooSinle() = {
dao.select(id = 2)
}
}
我尝试了多种方法,但没有找到任何解决方案。
【问题讨论】:
标签: scala playframework-2.0 anorm