我们如何使用在服务层光滑的交易,使交易系统(how we use slick transaction

2019-10-21 20:10发布

我在服务层我想插入事务的盟友,如果插入比所有三排插入数据库!

服务层是

def service(userRow, addressDao, contactDao) = DB.withTransaction { implicit session => 
    userDao.insert(userRow)
    addressDao.insert(addressRow)
    contactDao.insert(contactRow)
}

吾道层

def insert(userRow: UsersRow) = DB.withTransaction { implicit session =>
    user += userRow
}

Answer 1:

改变你的插入方法

def insert(userRow:UsersRow)(implicit session: Session)={
    user+=userRow
}

该会议将被传播和所有插入使用相同的会话。 如果是因为您例子一样会话使用事务,那么它将在同一个事务完成。



文章来源: how we use slick transaction on service layer for making a transaction System