Autogenerate = true не устанавливает идентификатор вставленной сущности в комнате - PullRequest
0 голосов
/ 22 сентября 2018

Я вставляю сущности с помощью моего RoomDAO, и я могу получить автоматически сгенерированный идентификатор:

@Insert(onConflict = OnConflictStrategy.ABORT)
long insert(Category category);

Но Category.id не устанавливается автоматически после вызова insert ():

Category cat = new Category();
long newId = dao().insert(cat);
// newId is a new id, 63 for instance
// cat.id is still 0

Я должен явным образом загрузить объект снова через Дао, чтобы увидеть ненулевой идентификатор:

cat = dao().getCategoryById(newId);
// cat.id is 63

Модель:

@Entity(tableName = "category")
public class Category {
  @PrimaryKey(autoGenerate = true)
  public int id;
  ...

Можно ли указать комнате заполнить cat.id немедленно?Или я использую неправильный шаблон?

...