Room 中 2 dao 的交易是真实的?

Transaction for 2 dao in Room is real?

Room 中有 2 个 tables/Dao - PoolDao 和 AccountDao 具有一对多关系(一个池多个帐户)。我需要先创建和保存池,然后再创建和保存(一个或多个)帐户。

如何在room中创建使用两个Dao操作的事务? 在文档中我发现只有一个 dao 的交易 - https://developer.android.com/reference/android/arch/persistence/room/Transaction

您可以使用 appDatabase 对象的 runInTransaction 选项:

appDatabase.runInTransaction
{
    appDatabase.dao1.doWhatNeedsToBeDone()
    appDatabase.dao2.doWhatNeedsToBeDone()
}

你有例子here