表 1(主表)與表 N(從表)通過外鍵關聯,需根據主表 ID 查詢所有關聯的從表記錄。
-- 內連接(僅返回有匹配的主表行)
SELECT n.*
FROM table_1 AS o
JOIN table_n AS n ON o.id = n.parent_id
WHERE o.id = ?;
-- 左連接(主表無匹配也返回,n.* 為 NULL)
SELECT n.*
FROM table_1 AS o
LEFT JOIN table_n AS n ON o.id = n.parent_id
WHERE o.id = ?;
SELECT * FROM table_n WHERE parent_id = (SELECT id FROM table_1 WHERE ...);
<resultMap> 中使用 <collection> 映射 List。@OneToMany + @JoinColumn。外鍵欄位 parent_id 必須建立索引;大數據量下考慮分頁或游標查詢。