我们如何在服务层使用 slick transaction 来制作交易系统
how we use slick transaction on service layer for making a transaction System
在我的服务层中,如果插入比所有三行都插入到数据库中,我想插入事务同盟!
服务层是
def service(userRow, addressDao, contactDao) = DB.withTransaction { implicit session =>
userDao.insert(userRow)
addressDao.insert(addressRow)
contactDao.insert(contactRow)
}
我的dao层是
def insert(userRow: UsersRow) = DB.withTransaction { implicit session =>
user += userRow
}
将您的插入方法更改为
def insert(userRow:UsersRow)(implicit session: Session)={
user+=userRow
}
会话将被传播并且所有插入使用相同的会话。如果会话像您的示例一样使用事务,那么它将在同一事务中完成。
在我的服务层中,如果插入比所有三行都插入到数据库中,我想插入事务同盟!
服务层是
def service(userRow, addressDao, contactDao) = DB.withTransaction { implicit session =>
userDao.insert(userRow)
addressDao.insert(addressRow)
contactDao.insert(contactRow)
}
我的dao层是
def insert(userRow: UsersRow) = DB.withTransaction { implicit session =>
user += userRow
}
将您的插入方法更改为
def insert(userRow:UsersRow)(implicit session: Session)={
user+=userRow
}
会话将被传播并且所有插入使用相同的会话。如果会话像您的示例一样使用事务,那么它将在同一事务中完成。