我的下表中有一个ForeignCollection
字段:
@DatabaseTable(tableName = "json_main")
public class JsonMain {
@DatabaseField( id = true)
int _id;
@DatabaseField
int likes_count;
@DatabaseField
String protected_visibility;
@ForeignCollectionField
ForeignCollection<JsonUser> jsonUser = null;
}
此处参考此表:
@DatabaseTable (tableName = "json_main_user")
public class JsonUser {
@DatabaseField(generatedId = true)
public int _id;
@DatabaseField(foreign = true, foreignAutoRefresh = true, columnName = "parent_id")
private JsonMain jsonMain;
}
我正在构建我的查询以获取光标:
QueryBuilder<JsonMain, Integer> queryBuilder_main = dao_json_main.queryBuilder();
PreparedQuery<JsonMain> jsonMains_list =queryBuilder_main.orderBy("sort_id",false).prepare();
CloseableIterator<JsonMain> closeableIterator = dao_json_main.iterator(jsonMains_list);
AndroidDatabaseResults androidDatabaseResults= (AndroidDatabaseResults)closeableIterator.getRawResults();
Cursor cursor = androidDatabaseResults.getRawCursor();
我已将数据正确插入数据库
我想知道如何使用ForeignCollection
使用ormlite获取json_main表的Cursor
。以上是我的尝试。
任何答案或建议都得到高度赞赏
答案 0 :(得分:1)
我已正确地将数据插入到数据库中我想知道如何使用orrsorite使用Cursor获取json_main表的ForeignCollection。以上是我尝试过的。
我希望我理解这个问题。 JsonMain
Cursor
没有来自JsonUser
表的任何信息。它具有的是_id
字段,它对应于jsonMain_id
表中的JsonUser
字段。您可以做的是取_id
JsonUser
并在JOIN
表上进行查询以获取相关用户。
执行此操作的唯一方法是构建自己的{{1}}原始查询,该查询返回一个游标中的主要字段和用户字段。不幸的是ORMLite在这种情况下无济于事。