我们如何在服务层使用 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
}

会话将被传播并且所有插入使用相同的会话。如果会话像您的示例一样使用事务,那么它将在同一事务中完成。