您的評論表明您已經回答了您的問題。你當然可以創建一個使用ORMLite名爲「_id」列:
@DatabaseField(generatedId = true)
private int _id;
或
@DatabaseField(generatedId = true, columnName = "_id")
private int id;
如果您正在使用Cursor
s工作,那麼你可能想看看的last()
和moveAbsolute(...)
方法上類DatabaseResults
。此外,AndroidDatabaseResults
(您可以投射到)也有一個getRawCursor()
方法,該方法返回基礎Cursor
對象並具有其他getCount()
和getPosition()
方法。
以下是有關ORMLite和Cursor
小號一些更多的信息:
Android Cursor with ORMLite to use in CursorAdapter
您可以使用類似以下獲得訪問Cursor
:
// build your query
QueryBuilder<Foo, String> qb = fooDao.queryBuilder();
qb.where()...;
// when you are done, prepare your query and build an iterator
CloseableIterator<Foo> iterator = dao.iterator(qb.prepare());
try {
// get the raw results which can be cast under Android
AndroidDatabaseResults results =
(AndroidDatabaseResults)iterator.getRawResults();
Cursor cursor = results.getRawCursor();
...
} finally {
iterator.closeQuietly();
}
對不起,這個問題似乎是虛假的。我錯了,可以用ORMLite命名列_id,所以我建議刪除這個問題,以避免混淆,除非有人有任何進一步的補充。 –
而不是刪除它,我建議你回答它與你如何修正了它 - 有人可能會發現這很有用,尤其是代碼示例,說明如何創建光標以與ORM – pjco
一起工作。你是對的 - 沒有用的刪除,我只是擔心人們絆倒這種錯誤的信息,它把人們的氣味,但答案是仔細閱讀! –