Primary Key задается у Entity-класса, который отражает структуру таблицы. В Room необходимо явно задавать Primary Key, даже если Entity-класс имеет только одно поле.
Primary Key можно задать двумя способами:
1. Аннотацией
@PrimaryKey
у поля класса Entity
. Эта аннотация принимает булевый атрибут autoGenerate
, который по умолчанию имеет значение false
. Если autoGenerate = true
, то база данных будет автоматически генерировать значения для Primary Key.2. Атрибутом
primaryKeys
у аннотации @Entity
(см. скриншот). Этот атрибут используется для создания составного Primary Key.