ORMLite - 关于多对多关系的JOIN查询

时间:2012-12-06 05:09:37

标签: android ormlite

我有一些商店数据,其中包含属于这些部分的章节和项目,例如:

sections: [
{ section_uid: "onSale",
items: [17, 20, 10, 11] },
{ section_uid: "hammers",
items: [17, 26, 45, 40]}]

items: [
{ listing_id: 17,
uid: "item_17" },
{ listing_id: 26,
uid: "item_26"}]

请注意,项目可能属于两个部分(在此示例中,项目17是待售的锤子)。为了显示这些数据,我将按照JSON部分的“items”字段中的ID来获取每个Section和所有相关项目。

我已经回顾了ORMLite上的一些文档和example of the many-to-many关系,但不确定我应该在几个问题上采用哪种方式......

  1. 如果我想进行JOIN查询,我不得不创建包含Sections和Items引用的SectionItems,然后查询每个Section UID的SectionItems。这是解决问题的正确方法吗?在“items”数组中按顺序排序的Sections.items中的Sections和Items以及查询是很好的。

  2. “items”部分中的item ID顺序很重要。我的“JOIN中介”SectionItems是否应该跟踪“items”数组中项目的顺序,或者如果我按照与“items”相同的顺序插入SectionItems,如果按照创建/更新的日期排序,我将返回该订单

  3. 与问题2一样,是否有任何理由不将sectionUID附加到“JOIN中介”类以便更快地进行查询,或者它是否已在幕后进行?

  4. 如果使用新项目更新了部分,或者在“items”数组中移动了项目并且该部分需要更新,那么删除与该部分匹配的所有SectionItem并为其重新创建SectionItems是否效率低下新节?

  5. 注意,我永远不必抓住一个项目,并询问它是否属于哪个部分,如果这改变了什么。

    非常感谢您的帮助和指导!

0 个答案:

没有答案