Ormlite のパフォーマンスをテストしていて、感銘を受けました。testORMLITE_jobget()
それよりも速いのはどうしてtestORMLITE_getcursor()
ですか?
public void testORMLITE_jobget() throws SQLException {
Dao<Job, Integer> dao = dbhelper.getJobDao();
List<Job> jobs = dao.queryForAll();
for (Job job : jobs) {
Log.i("OrmLite", job.getName());
}
dbhelper.close();
}
public void testORMLITE_getcursor() throws SQLException {
SQLiteDatabase db = dbhelper.getReadableDatabase();
Cursor c = db.rawQuery("select * from job", null);
if (c.moveToFirst())
while (c.moveToNext()) {
Log.i("Cursor", c.getString(c.getColumnIndex("name")));
}
c.close();
db.close();
}
2 番目の質問: この方法で外部コレクションを正しく削除していますか?
public void testORMLITE_jobdelete() throws SQLException{
Job j = dbhelper.getJobDao().queryForId(5);
dbhelper.getTagDao().delete(j.tags);
dbhelper.getJobDao().delete(j);
}