【发布时间】:2019-08-26 21:37:55
【问题描述】:
我有两张桌子account 和address。 account 依赖于address 含义,要创建account,必须先创建address 并获取address.id。
如果address 创建失败或account 创建失败,我不能依赖我的数据库。
因此我必须运行一个事务。
如果我在我的 provider 中运行事务,该类注入所有必需的服务以执行我需要的操作,即创建帐户,在我的情况下,它使用 @987654330 @ 和 accountService,有人告诉我这是一种反模式,因为事务和与数据库相关的所有内容都必须在 repository 中运行。
但是怎么做呢?我必须在 addressRepository 和 accountRepository 两个不同的存储库中运行操作。
当您在两个不同的服务上使用多个存储库时,启动和提交事务的最佳做法是什么?
【问题讨论】: