public
abstract
@interface
Update
implements
Annotation
android.arch.persistence.room.Update
Marks a method in a Dao annotated class as an update method.
The implementation of the method will update its parameters in the database if they already
exists (checked by primary keys). If they don't already exists, this option will not change the
database.
All of the parameters of the Update method must either be classes annotated with Entity
or collections/array of it.
Content and code samples on this page are subject to the licenses described in the Content License. Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
Last updated 2025-02-10 UTC.
[null,null,["Last updated 2025-02-10 UTC."],[],[],null,["# Update\n\nSummary: [Methods](#pubmethods) \\| [Inherited Methods](#inhmethods) \n\nUpdate\n======\n\n| The `android.arch` Architecture Components packages are no longer maintained. They have been superseded by the corresponding [androidx.\\*](/jetpack/androidx/migrate) packages. See [androidx.room.Update](/reference/androidx/room/Update) instead.\n\n\n`\npublic\n\n\nabstract\n@interface\nUpdate\n`\n\n\n`\n\n\nimplements\n\nAnnotation\n\n\n`\n\n|--------------------------------------|\n| android.arch.persistence.room.Update |\n\n\u003cbr /\u003e\n\n*** ** * ** ***\n\nMarks a method in a [Dao](/reference/android/arch/persistence/room/Dao) annotated class as an update method.\n\n\nThe implementation of the method will update its parameters in the database if they already\nexists (checked by primary keys). If they don't already exists, this option will not change the\ndatabase.\n\n\nAll of the parameters of the Update method must either be classes annotated with [Entity](/reference/android/arch/persistence/room/Entity)\nor collections/array of it. \n**See also:**\n\n- [Insert](/reference/android/arch/persistence/room/Insert)\n- [Delete](/reference/android/arch/persistence/room/Delete)\n\nSummary\n-------\n\n| ### Public methods ||\n|--------|----------------------------------------------------------------------------------------------------------------------|\n| ` int` | ` `[onConflict](/reference/android/arch/persistence/room/Update#onConflict())`() ` What to do if a conflict happens. |\n\n| ### Inherited methods |\n|-----------------------|---|\n| From interface ` java.lang.annotation.Annotation ` |-----------------------------------------|-------------------------| | ` abstract Class\u003c? extends Annotation\u003e` | ` annotationType() ` | | ` abstract boolean` | ` equals(Object arg0) ` | | ` abstract int` | ` hashCode() ` | | ` abstract String` | ` toString() ` | ||\n\nPublic methods\n--------------\n\n### onConflict\n\n```\nint onConflict ()\n```\n\nWhat to do if a conflict happens.\n\n\u003cbr /\u003e\n\n| Returns ||\n|-------|-------------------------------------------------------------------------------------------------------------------------|\n| `int` | How to handle conflicts. Defaults to [ABORT](/reference/android/arch/persistence/room/OnConflictStrategy#ABORT). \u003cbr /\u003e |\n\n**See also:**\n\n- [SQLite conflict documentation](https://sqlite.org/lang_conflict.html) \n-\n\n Annotations\n -----------\n\n - [ColumnInfo](/reference/android/arch/persistence/room/ColumnInfo)\n - [ColumnInfo.Collate](/reference/android/arch/persistence/room/ColumnInfo.Collate)\n - [ColumnInfo.SQLiteTypeAffinity](/reference/android/arch/persistence/room/ColumnInfo.SQLiteTypeAffinity)\n - [Dao](/reference/android/arch/persistence/room/Dao)\n - [Database](/reference/android/arch/persistence/room/Database)\n - [Delete](/reference/android/arch/persistence/room/Delete)\n - [Embedded](/reference/android/arch/persistence/room/Embedded)\n - [Entity](/reference/android/arch/persistence/room/Entity)\n - [ForeignKey](/reference/android/arch/persistence/room/ForeignKey)\n - [ForeignKey.Action](/reference/android/arch/persistence/room/ForeignKey.Action)\n - [Ignore](/reference/android/arch/persistence/room/Ignore)\n - [Index](/reference/android/arch/persistence/room)\n - [Insert](/reference/android/arch/persistence/room/Insert)\n - [OnConflictStrategy](/reference/android/arch/persistence/room/OnConflictStrategy)\n - [PrimaryKey](/reference/android/arch/persistence/room/PrimaryKey)\n - [Query](/reference/android/arch/persistence/room/Query)\n - [RawQuery](/reference/android/arch/persistence/room/RawQuery)\n - [Relation](/reference/android/arch/persistence/room/Relation)\n - [SkipQueryVerification](/reference/android/arch/persistence/room/SkipQueryVerification)\n - [Transaction](/reference/android/arch/persistence/room/Transaction)\n - [TypeConverter](/reference/android/arch/persistence/room/TypeConverter)\n - [TypeConverters](/reference/android/arch/persistence/room/TypeConverters)\n - [Update](/reference/android/arch/persistence/room/Update)\n-\n\n Classes\n -------\n\n - [DatabaseConfiguration](/reference/android/arch/persistence/room/DatabaseConfiguration)\n - [InvalidationTracker](/reference/android/arch/persistence/room/InvalidationTracker)\n - [InvalidationTracker.Observer](/reference/android/arch/persistence/room/InvalidationTracker.Observer)\n - [Room](/reference/android/arch/persistence/room/Room)\n - [RoomDatabase](/reference/android/arch/persistence/room/RoomDatabase)\n - [RoomDatabase.Builder](/reference/android/arch/persistence/room/RoomDatabase.Builder)\n - [RoomDatabase.Callback](/reference/android/arch/persistence/room/RoomDatabase.Callback)\n - [RoomDatabase.MigrationContainer](/reference/android/arch/persistence/room/RoomDatabase.MigrationContainer)\n - [RoomWarnings](/reference/android/arch/persistence/room/RoomWarnings)\n - [RxRoom](/reference/android/arch/persistence/room/RxRoom)\n-\n\n Enums\n -----\n\n - [RoomDatabase.JournalMode](/reference/android/arch/persistence/room/RoomDatabase.JournalMode)\n-\n\n Exceptions\n ----------\n\n - [EmptyResultSetException](/reference/android/arch/persistence/room/EmptyResultSetException)"]]