서비스 API에서 다음과 같은 작업을 수행하여 Slick
트랜잭션을 만드는 것처럼 보입니다. 작은 DSL 찾기 기능 만들기
db.withTransaction{ implicit session =>
.....
}
뭔가 더 DSL 대신 사방
db.withTransaction
을하는 니펫을 찾고를 만들려고합니다.
나는 지금은
executeInSlickTransaction{
....
}
를 호출 할 수 있습니다하지만 내가 executeInSlickTransaction
예에서뿐만 아니라 implicit session
필요 그래서 아래
def executeInSlickTransaction[T](body: => T) = {
val db = DataSource.getDb
db.withTransaction{ implicit session =>
body
}
}
함께했다
executeInSlickTransaction{ implicit session => ...}
session
은 기대하는 DAO 호출 (executeInSlickTransaction
블록에서 작성)에 암시 적으로 필요하기 때문입니다.
implicit session
을 executeInSlickTransaction
에서 다시 가져 오는 방법이 있습니까?
메소드의 올바른 서명은''execute''SlickTransaction [T] (body : (Session) => T)'이어야하고'body (session)'를 호출해야합니다. 'body' 함수에서'Session'을 암시 적으로 만들 수 있습니다 :'executeInSlickTransaction {implicit session => ...}' – wedens