# androidx.room3

*** ** * ** ***

## Annotations

|---|---|
| `https://developer.android.com/reference/androidx/room3/AutoMigration` | Declares an automatic migration on a `https://developer.android.com/reference/androidx/room3/Database`. |
| `https://developer.android.com/reference/androidx/room3/BuiltInColumnTypeConverters` | Control flags for built-in column type converters. |
| `https://developer.android.com/reference/androidx/room3/ColumnInfo` | Allows specific customization about the column associated with the annotated property. |
| `https://developer.android.com/reference/androidx/room3/ColumnInfo.Collate` |   |
| `https://developer.android.com/reference/androidx/room3/ColumnInfo.SQLiteTypeAffinity` | The SQLite column type constants that can be used in `https://developer.android.com/reference/androidx/room3/ColumnInfo#typeAffinity()` |
| `https://developer.android.com/reference/androidx/room3/ColumnTypeConverter` | Marks a function as a column type converter. |
| `https://developer.android.com/reference/androidx/room3/ColumnTypeConverters` | Registers additional `https://developer.android.com/reference/androidx/room3/ColumnTypeConverter` functions for Room. |
| `https://developer.android.com/reference/androidx/room3/ConstructedBy` | Defines the `https://developer.android.com/reference/androidx/room3/RoomDatabaseConstructor` that will instantiate the Room generated implementation of the annotated `https://developer.android.com/reference/androidx/room3/Database`. |
| `https://developer.android.com/reference/androidx/room3/Dao` | Marks the class as a Data Access Object. |
| `https://developer.android.com/reference/androidx/room3/DaoReturnTypeConverter` | Marks a function as a DAO function return type converter. |
| `https://developer.android.com/reference/androidx/room3/DaoReturnTypeConverters` | Specifies the classes that contain **DAO return type converters** that a RoomDatabase can use. |
| `https://developer.android.com/reference/androidx/room3/Database` | Marks a class as a `https://developer.android.com/reference/androidx/room3/RoomDatabase`. |
| `https://developer.android.com/reference/androidx/room3/DatabaseView` | Marks a class as an SQLite view. |
| `https://developer.android.com/reference/androidx/room3/Delete` | Marks a function in a `https://developer.android.com/reference/androidx/room3/Dao` annotated class as a delete function. |
| `https://developer.android.com/reference/androidx/room3/DeleteColumn` | Repeatable annotation declaring the deleted columns in the `https://developer.android.com/reference/androidx/room3/AutoMigration#to()` version of an auto migration. |
| `https://developer.android.com/reference/androidx/room3/DeleteColumn.Entries` | Container annotation for the repeatable annotation `https://developer.android.com/reference/androidx/room3/DeleteColumn`. |
| `https://developer.android.com/reference/androidx/room3/DeleteTable` | Repeatable annotation declaring the deleted tables in the `https://developer.android.com/reference/androidx/room3/AutoMigration#to()` version of an auto migration. |
| `https://developer.android.com/reference/androidx/room3/DeleteTable.Entries` | Container annotation for the repeatable annotation `https://developer.android.com/reference/androidx/room3/DeleteTable`. |
| `https://developer.android.com/reference/androidx/room3/Embedded` | Marks a property of an `https://developer.android.com/reference/androidx/room3/Entity` or data object to allow nested properties (i.e. properties of the annotated property's class) to be referenced directly in the SQL queries. |
| `https://developer.android.com/reference/androidx/room3/Entity` | Marks a class as an entity. |
| `https://developer.android.com/reference/androidx/room3/ExperimentalRoomApi` | Marks declarations that are experimental in Room's APIs, which means that the design of the corresponding declarations may (or may not) lead to their changes in the future. |
| `https://developer.android.com/reference/androidx/room3/ForeignKey` | Declares a foreign key on another `https://developer.android.com/reference/androidx/room3/Entity`. |
| `https://developer.android.com/reference/androidx/room3/ForeignKey.Action` | Constants definition for values that can be used in `https://developer.android.com/reference/androidx/room3/ForeignKey#onDelete()` and `https://developer.android.com/reference/androidx/room3/ForeignKey#onUpdate()`. |
| `https://developer.android.com/reference/androidx/room3/Fts3` | Marks an `https://developer.android.com/reference/androidx/room3/Entity` annotated class as a FTS3 entity. |
| `https://developer.android.com/reference/androidx/room3/Fts4` | Marks an `https://developer.android.com/reference/androidx/room3/Entity` annotated class as a FTS4 entity. |
| `https://developer.android.com/reference/androidx/room3/Fts5` | Marks an `https://developer.android.com/reference/androidx/room3/Entity` annotated class as a FTS5 entity. |
| `https://developer.android.com/reference/androidx/room3/Ignore` | Ignores the marked element from Room's processing logic. |
| `https://developer.android.com/reference/androidx/room3` | Declares an index on an `https://developer.android.com/reference/androidx/room3/Entity`. |
| `https://developer.android.com/reference/androidx/room3/Insert` | Marks a function in a `https://developer.android.com/reference/androidx/room3/Dao` annotated class as an insert function. |
| `https://developer.android.com/reference/androidx/room3/Junction` | Declares a junction to be used for joining a relationship. |
| `https://developer.android.com/reference/androidx/room3/MapColumn` | Declares which column is used to build a map or multimap return value in a `https://developer.android.com/reference/androidx/room3/Dao` query function. |
| `https://developer.android.com/reference/androidx/room3/OnConflictStrategy` | Set of conflict handling strategies for various `https://developer.android.com/reference/androidx/room3/Dao` functions. |
| `https://developer.android.com/reference/androidx/room3/PrimaryKey` | Marks a property in an `https://developer.android.com/reference/androidx/room3/Entity` as the primary key. |
| `https://developer.android.com/reference/androidx/room3/ProvidedAutoMigrationSpec` | Marks a `https://developer.android.com/reference/androidx/room3/migration/AutoMigrationSpec` class that will be provided to Room at runtime. |
| `https://developer.android.com/reference/androidx/room3/ProvidedColumnTypeConverter` | Marks a class containing `https://developer.android.com/reference/androidx/room3/ColumnTypeConverter` functions provided to Room at runtime. |
| `https://developer.android.com/reference/androidx/room3/ProvidedDaoReturnTypeConverter` | Marks a class containing `https://developer.android.com/reference/androidx/room3/DaoReturnTypeConverter` functions that will be provided to Room at runtime. |
| `https://developer.android.com/reference/androidx/room3/Query` | Marks a function in a `https://developer.android.com/reference/androidx/room3/Dao` annotated class as a query function. |
| `https://developer.android.com/reference/androidx/room3/RawQuery` | Marks a function in a `https://developer.android.com/reference/androidx/room3/Dao` annotated class as a raw query function where the query is pass as a parameter of types `https://developer.android.com/reference/androidx/room3/RoomRawQuery` or androidx.sqlite.db.SupportSQLiteQuery. |
| `https://developer.android.com/reference/androidx/room3/Relation` | A convenience annotation which can be used in a data object class to automatically fetch relation entities. |
| `https://developer.android.com/reference/androidx/room3/RenameColumn` | Repeatable annotation declaring the renamed columns in the `https://developer.android.com/reference/androidx/room3/AutoMigration#to()` version of an auto migration. |
| `https://developer.android.com/reference/androidx/room3/RenameColumn.Entries` | Container annotation for the repeatable annotation `https://developer.android.com/reference/androidx/room3/RenameColumn`. |
| `https://developer.android.com/reference/androidx/room3/RenameTable` | Repeatable annotation declaring the renamed tables in the new version of an auto migration. |
| `https://developer.android.com/reference/androidx/room3/RenameTable.Entries` | Container annotation for the repeatable annotation `https://developer.android.com/reference/androidx/room3/RenameTable`. |
| `https://developer.android.com/reference/androidx/room3/RewriteQueriesToDropUnusedColumns` | When present, `https://developer.android.com/reference/androidx/room3/RewriteQueriesToDropUnusedColumns` annotation will cause Room to rewrite your `https://developer.android.com/reference/androidx/room3/Query` functions such that only the columns that are used in the return type are queried from the database. |
| `https://developer.android.com/reference/androidx/room3/SkipQueryVerification` | Skips database verification for the annotated element. |
| `https://developer.android.com/reference/androidx/room3/Transaction` | Marks a function in a `https://developer.android.com/reference/androidx/room3/Dao` class as a transaction function. |
| `https://developer.android.com/reference/androidx/room3/Update` | Marks a function in a `https://developer.android.com/reference/androidx/room3/Dao` annotated class as an update function. |
| `https://developer.android.com/reference/androidx/room3/Upsert` | Marks a function in a `https://developer.android.com/reference/androidx/room3/Dao` annotated class as an upsert (insert or update) function. |

## Interfaces

|---|---|
| `https://developer.android.com/reference/androidx/room3/PooledConnection` | A wrapper of `https://developer.android.com/reference/androidx/sqlite/SQLiteConnection` that belongs to a connection pool and is safe to use in a coroutine. |
| `https://developer.android.com/reference/androidx/room3/RoomDatabaseConstructor` | Defines a class that can instantiate the Room generated implementation of an 'abstract' `https://developer.android.com/reference/androidx/room3/Database` annotated `https://developer.android.com/reference/androidx/room3/RoomDatabase` definition. |
| `https://developer.android.com/reference/androidx/room3/RoomOpenDelegateMarker` | Marker interface for Room's code generated delegate. |
| `https://developer.android.com/reference/androidx/room3/TransactionScope` | A `https://developer.android.com/reference/androidx/room3/PooledConnection` with an active transaction capable of performing nested transactions. |
| `https://developer.android.com/reference/androidx/room3/Transactor` | A `https://developer.android.com/reference/androidx/room3/PooledConnection` that can perform transactions. |

## Classes

|---|---|
| `https://developer.android.com/reference/androidx/room3/InvalidationTracker` | The invalidation tracker keeps track of tables modified by queries and notifies its created `https://kotlinlang.org/api/kotlinx.coroutines/kotlinx-coroutines-core/kotlinx.coroutines.flow/-flow/index.html`s about such modifications. |
| `https://developer.android.com/reference/androidx/room3/MultiInstanceInvalidationService` | A `https://developer.android.com/reference/android/app/Service.html` for remote invalidation among multiple `https://developer.android.com/reference/androidx/room3/InvalidationTracker` instances. |
| `https://developer.android.com/reference/androidx/room3/RoomDatabase` | Base class for all Room databases. |
| `https://developer.android.com/reference/androidx/room3/RoomDatabase.Builder` | Builder for `https://developer.android.com/reference/androidx/room3/RoomDatabase`. |
| `https://developer.android.com/reference/androidx/room3/RoomDatabase.Callback` | Callback for `https://developer.android.com/reference/androidx/room3/RoomDatabase` |
| `https://developer.android.com/reference/androidx/room3/RoomDatabase.MigrationContainer` | A container to hold migrations. |
| `https://developer.android.com/reference/androidx/room3/RoomDatabase.PrepackagedDatabaseCallback` | Callback for `https://developer.android.com/reference/androidx/room3/RoomDatabase.Builder#createFromAsset(kotlin.String)`, `https://developer.android.com/reference/androidx/room3/RoomDatabase.Builder#createFromFile(java.io.File)` and `https://developer.android.com/reference/androidx/room3/RoomDatabase.Builder#createFromInputStream(java.util.concurrent.Callable)` |
| `https://developer.android.com/reference/androidx/room3/RoomDatabaseKt` |   |
| `https://developer.android.com/reference/androidx/room3/RoomRawQuery` | A query with an argument binding function. |
| `https://developer.android.com/reference/androidx/room3/TransactorKt` |   |
| `https://developer.android.com/reference/androidx/room3/FtsOptions` | Available option values that can be used with `https://developer.android.com/reference/androidx/room3/Fts3`, `https://developer.android.com/reference/androidx/room3/Fts4`\&`https://developer.android.com/reference/androidx/room3/Fts5`. |
| `https://developer.android.com/reference/androidx/room3/Room` | Entry point for building and initializing a `https://developer.android.com/reference/androidx/room3/RoomDatabase`. |
| `https://developer.android.com/reference/androidx/room3/RoomWarnings` | The list of warnings that are produced by Room. |

## Enums

|---|---|
| `https://developer.android.com/reference/androidx/room3/BuiltInColumnTypeConverters.State` | Control flags for built-in converters. |
| `https://developer.android.com/reference/androidx/room3/FtsOptions.Detail` |   |
| `https://developer.android.com/reference/androidx/room3/FtsOptions.MatchInfo` |   |
| `https://developer.android.com/reference/androidx/room3/FtsOptions.Order` |   |
| `https://developer.android.com/reference/androidx/room3/Index.Order` |   |
| `https://developer.android.com/reference/androidx/room3/OperationType` | Describes the type of database operation a `https://developer.android.com/reference/androidx/room3/DaoReturnTypeConverter` function supports. |
| `https://developer.android.com/reference/androidx/room3/PrimaryKey.Algorithm` | The `https://developer.android.com/reference/androidx/room3/PrimaryKey` auto-generate algorithms. |
| `https://developer.android.com/reference/androidx/room3/RoomDatabase.JournalMode` | Journal modes for SQLite database. |
| `https://developer.android.com/reference/androidx/room3/Transactor.SQLiteTransactionType` | Transaction types. |