您的评论表明您已经回答了您的问题。您当然可以使用ORMLite创建一个名为“_id”的列:
@DatabaseField(generatedId = true)
private int _id;
或者
@DatabaseField(generatedId = true, columnName = "_id")
private int id;
如果您正在使用Cursors ,那么您可能需要查看类中的last()和moveAbsolute(...)方法DatabaseResults。此外,AndroidDatabaseResults(您可以转换为)还有一个getRawCursor()方法,该方法返回基础Cursor对象并具有附加的getCount()和getPosition()方法。
以下是有关 ORMLite 和Cursors 的更多信息:
在 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();
}