5.4 Entities
When you use the Room persistence library to store your app's data, you define entities to represent the objects that you want to store. Each entity corresponds to a table in the associated Room database, and each instance of an entity represents a row of data in the corresponding table.
Anatomy of an entity
You define each Room entity as a class that is annotated with @Entity
. A Room entity includes fields for each column in the corresponding table in the database, including one or more columns that comprise the primary key (Each Room entity must define a primary key that uniquely identifies each row in the corresponding database table. The most straightforward way of doing this is to annotate a single column with @PrimaryKey)
.
The following code is an example of a simple entity that defines a GroceryItem table:
Here, each item in our grocery list has 3 fields: a name, a brand, and the number needed.
Note: To persist a field, Room must have access to it. You can make sure Room has access to a field either by making it public or by providing getter and setter methods for it.
Last updated