Android Room предотвращает откат - PullRequest
0 голосов
/ 19 октября 2018

Моя транзакция откатывается, даже если SQLiteConstraintException пойман.Есть ли способ предотвратить откат в случае исключения?

Скажем, я делаю удаление, которое нарушает ограничение внешнего ключа.

@Transaction
fun deleteProduct(p : Product) {
    deleteSomeOtherEntityByProductId(p.id)
    try {
      deleteProductViolatingContstraint(p)
    } catch (e: SQLiteConstraintException) {
      // there are SomeOtherEntity's referencing this product
      e.printStackTrace()
    }
}

В этом случае после завершения транзакцииSomeOtherEntity восстанавливается, даже если исключение перехвачено.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...