У вас должен быть хотя бы один первичный ключ для вашего @ Entity.
@PrimaryKey(autoGenerate = true)
Вы должны использовать его как
@PrimaryKey(autoGenerate = true)
private int id;
Кроме того, у вас должен быть установщик для этой переменной id, поэтому, когда Room необходимо установить значение первичного ключа, он будет использовать ваш метод setter, поскольку ваша переменная id является закрытой.Итак, теперь в этом случае вам вообще не нужно устанавливать идентификатор.Комната позаботится об этом.