Room 2 dao 交易是真的吗?

abb*_*767 5 android android-room

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

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

dan*_*ela 7

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

appDatabase.runInTransaction
{
    appDatabase.dao1.doWhatNeedsToBeDone()
    appDatabase.dao2.doWhatNeedsToBeDone()
}
Run Code Online (Sandbox Code Playgroud)

你这里有例子。