У меня проблема с Gson и Room с id! Я отправляю данные с json (библиотеки Gson и JSON) клиенту (Android приложение) с реализацией базы данных Room, я отправляю данные клиента на android с идентификаторами, похожими на:
{"map":{"date":"2020-01-15 15:13:42.0","botType":1,"botName":"ds","id":62,"userId":1,"accountKey":"dcab171a-b6cc-4583-b5fc-3e996100725a","status":0}}
и мне нужно сохранить точно сохранить с идентификатором в клиентской базе данных, но комната генерирует новый идентификатор для этого объекта, что я могу исправить эту проблему? другое описание о структуре:
суперкласс:
@Entity
public class SuperBean implements Serializable {
@PrimaryKey(autoGenerate = true)
public long id;
@TypeConverters(DateConverter.class)
public Date date = new Date();
public long getId() {
return id;
}
public void setId(long id) {
this.id = id;
}
public Date getDate() {
return date;
}
public void setDate(Date date) {
this.date = date;
}
}
И основной класс для сохранения в базе данных:
@Entity
public class Account extends SuperBean {
//other var...
}
Комнатная вставка DAO:
@Insert(onConflict = OnConflictStrategy.REPLACE)
void insertFromServer(Account account);
Я использую JSON, чтобы сохранить данные в базе данных комнаты с идентификатором сохранения, и перед этим я очищаю таблицу счетов, но необходимо добавить сохраненный объект с идентификатором, который, по мнению комнаты, должен быть добавлен.