我有一些存储数据,其中包含属于这些部分的部分和项目,例如:
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 的“项目”字段中的 ID 获取每个部分和所有关联的项目。
我已经查看了ORMLite 上的多对多关系的一些文档和示例,但我不确定我应该以哪种方式继续解决一些问题......
如果我想进行 JOIN 查询,我必须创建包含对 Sections 和 Items 的引用的 SectionItems,然后针对每个部分 UID 查询这些 SectionItems。这是处理事情的正确方法吗?最好只有 Sections 和 Items 并查询 Sections.items 中的所有项目,这些项目按“items”数组中的顺序排序。
“项目”部分中项目 ID 的顺序很重要。如果我的“JOIN intermediary”SectionItems 跟踪“items”数组中项目的顺序,或者如果我以与“items”相同的顺序插入 SectionItems,如果我按创建/更新日期排序,我会得到该顺序?
与问题 2 相同,是否有任何理由不将 sectionUID 附加到“JOIN intermediary”类以加快查询速度,或者它是否已经在幕后这样做了?
如果使用新项目更新部分或在“项目”数组中移动项目并且需要对该部分进行更新,那么删除与该部分匹配的所有 SectionItems 并为新部分重新创建 SectionItems 是否效率不高?
请注意,如果这会改变任何东西,我将永远不必抓住一个项目并询问它属于哪个部分。
非常感谢您的帮助和指导!