//VO 返回的实体类之间的关系
public class AProjectVo extends AProject {
private AProjectDetail aProjectDetail; //project : projectdetail = 1:1
private List eListVo;//project : eng = 1:n
public class AEngVo extends AEng{
private List gList;//eng : group = 1:n
//dao层 主要 返回对象就要保证查询的结果唯一 我们这里通过 最小的分子gid查询
AProjectVo selectAProjectVo(@Param("gId")String gId);
//xml 注意,如果 被包含对象 的字段名称 和父对象 字段名称 相同,则需要 起别名
select * FROM a_project p
LEFT JOIN a_project_detail pd ON p.p_id = pd.p_id
LEFT JOIN a_eng e ON p.p_id = e.p_id
LEFT JOIN a_group g ON e.e_id = g.e_id
WHERE g.g_id = #{gId}