有关联关系
查询出全部的问题,通过关联关系判断。
案例:
实体类中添加小问题集合;
@Transient //使用mybatisCodeHelper生成代码忽略
@TableField(exist = false)//忽略实体映射
private List<SysInquiry> inquiries = new ArrayList<>();
控制层组装;
//格式转化
private static void listTree(List<SysInquiry> list){
//用来存储需要删除的小问题
List<SysInquiry> sysInquiries = new ArrayList<>();
//小问题添加到大问题中
list.forEach(sysInquiryMin -> {
//判断是不是小问题
if(sysInquiryMin.getFid()!=0){
//查找小问题对应的大问题
list.forEach(sysInquiryMax -> {
if(Long.valueOf(sysInquiryMin.getFid())==sysInquiryMax.getId()){
//大问题的小问题集合中添加该小问题对象
sysInquiryMax.getInquiries().add(sysInquiryMin);
//将该小问题添加到删除集合中
sysInquiries.add(sysInquiryMin);
}
});
}
});
//全部问题中删除子问题
sysInquiries.forEach(sysInquiry -> {
list.remove(sysInquiry);
});
}