【问题标题】:Nested transactions are not allowed不允许嵌套事务
【发布时间】:2018-11-07 15:50:53
【问题描述】:

如何从领域中删除多个对象?

realm.beginTransaction
realm.executeTransaction(realm -> {
        for(String id : listOfIds) {

         realm.where(StorageClass.class).equalTo("id", id).findFirst().removeFromRealm();
        }
      }
  );
realm.commitTransaction();

如果我执行上述操作并尝试从现有 id 列表中删除所有 id,则会出现以下错误:

java.lang.IllegalStateException: Nested transactions are not allowed. Use commitTransaction() after each beginTransaction().
    at io.realm.internal.ImplicitTransaction.promoteToWrite(ImplicitTransaction.java:39)
    at io.realm.Realm.beginTransaction(Realm.java:1435)

提前致谢

【问题讨论】:

    标签: android realm


    【解决方案1】:

    只需删除 realm.beginTransaction() 和 realm.commitTransaction() 因为执行事务内部调用开始和提交事务。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-11-21
      • 2018-01-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-11-30
      • 1970-01-01
      • 2014-08-31
      相关资源
      最近更新 更多