Я вставляю сущности с помощью моего 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
немедленно?Или я использую неправильный шаблон?