即使捕获了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
也将恢复。