0
我正在使用Slick來訪問我的Postgres SQL數據庫。如何在Scala Slick中完成Postgres中的單獨事務
我需要做一個孤立的事務(可序列化或可重複讀取)。
我發現下面的代碼在這裏在線https://github.com/slick/slick/issues/218
def withIsolatedTransaction[R](level: Int)(block: => R)(implicit session: Session) = {
require(session.conn.getAutoCommit, "A transaction has already been started")
val oldLevel = session.conn.getTransactionIsolation
session.conn.setTransactionIsolation(level)
val r = session.withTransaction(block)
session.conn.setTransactionIsolation(oldLevel)
r
}
有人能告訴我,如果這是在我的代碼使用好主意,或是否有更好的方法做的事務隔離?
我覺得我堅持用油滑1.0,除非播放光滑插件支持滑頭2.0 – yzernik
我想你現在擁有的代碼是目前的方式。另請參閱此博客文章,瞭解有關隔離遊戲的信息,同時也可以參閱http://blog.codacy.com/understanding-isolation-levels/ –