您的评论表明您已经回答了您的问题。您当然可以使用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
s 的更多信息:
在 CursorAdapter 中使用带有 ORMLite 的 Android 游标
您可以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();
}