Как получить id новой записи после добавления в таблицу?
Есть таблица в базе данных Room, primary key у неё автоматически генерируется (выставлен флаг autoGenerate).
Подскажите, как я могу получить id новой записи после добавления?
Ответы (1 шт):
Автор решения: Vadik Sirekanyan
→ Ссылка
Это можно сделать, если в методе класса Dao указать тип Long в качестве возвращаемого значения. Об этом сказано в документации.
Предположим, у вас есть сущность User:
@Entity
public class User {
@PrimaryKey(autoGenerate = true)
public int id;
public String name;
}
И insert-метод Dao возвращает тип Long:
@Dao
interface MyDao {
@Insert
Long insertUser(User user);
}
Тогда при вызове этого метода будет возвращаться rowId, который будет соответствовать новому id пользователя:
Long id = dao.insertUser(user);