我的數據庫出現問題。我正在使用特定的ID從API下載數據。我希望這個ID保留在我的數據庫中,以便將來可以在應用程序中使用它們。我在文檔中看到,我應該添加allowGeneratedIdInsert = true
,但它不起作用 - 我仍然在數據庫中獲得0.1,等等dao.create(...)
之後的ID。你能檢查我的代碼並告訴我我做錯了什麼嗎?ORMLite生成的ID
這裏是我的模型:
@DatabaseField(id = true, columnName = "id", allowGeneratedIdInsert = true)
private int id;
創建記錄:
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
if(isChecked) {
try {
final Dao<Concert, Integer> concertDao = getHelper().getConcertDao();
concertDao.create(concertList.get(position));
} catch (SQLException e) {
e.printStackTrace();
}
}
}
如果你正在用'id'存儲你的實體,那麼你不需要'allowGeneratedIdInsert'。你只需要'id = true'。你能更清楚地知道當你插入它們的時候id值是什麼以及它們在數據庫中是什麼? – Gray
我正在從ID爲f.e的API下載對象。 4432,當我將它保存到數據庫時它是1.我清除了緩存,現在遇到了「沒有這樣的列concert_id」的問題 - 我沒有那個列,我昨天創建了這個字段來檢查我是否可以有兩個id字段 - id和id_concerts(來自API的數據),但現在它消失了。奇怪... – Bartos