OnConflictStrategy
@Retention(value = AnnotationRetention.BINARY)
@IntDef(value = [0, 1, 2, 3, 4, 5])
public annotation OnConflictStrategy
Set of conflict handling strategies for various {@link Dao} methods.
Summary
Constants |
|
|---|---|
static final int |
ABORT = 3OnConflict strategy constant to abort the transaction. |
static final int |
FAIL = 4This field is deprecated. Use ABORT instead. |
static final int |
IGNORE = 5OnConflict strategy constant to ignore the conflict. |
static final int |
NONE = 0OnConflict strategy constant used by default when no other strategy is set. |
static final int |
REPLACE = 1OnConflict strategy constant to replace the old data and continue the transaction. |
static final int |
ROLLBACK = 2This field is deprecated. Use ABORT instead. |
Public constructors |
|---|
Constants
ABORT
public static final int ABORT = 3
OnConflict strategy constant to abort the transaction. The transaction is rolled back.
public static final int FAIL = 4
OnConflict strategy constant to fail the transaction.
Does not work as expected. The transaction is rolled back. Use ABORT.
IGNORE
public static final int IGNORE = 5
OnConflict strategy constant to ignore the conflict.
An Insert DAO method that returns the inserted rows ids will return -1 for rows that are not inserted since this strategy will ignore the row if there is a conflict.
NONE
public static final int NONE = 0
OnConflict strategy constant used by default when no other strategy is set. Using it prevents Room from generating ON CONFLICT clause. It may be useful when there is a need to use ON CONFLICT clause within a trigger. The runtime behavior is the same as when ABORT strategy is applied. The transaction is rolled back.