Моя транзакция откатывается, даже если 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
восстанавливается, даже если исключение перехвачено.