diff --git a/src/main/java/neatlogic/framework/cmdb/utils/ResourceViewGenerateSqlUtil.java b/src/main/java/neatlogic/framework/cmdb/utils/ResourceViewGenerateSqlUtil.java index 85319af1275f177b6253c9befc6e52ed7990ca69..958093b58c5be5ef3825bfbde4f442ec7130b5fd 100644 --- a/src/main/java/neatlogic/framework/cmdb/utils/ResourceViewGenerateSqlUtil.java +++ b/src/main/java/neatlogic/framework/cmdb/utils/ResourceViewGenerateSqlUtil.java @@ -50,7 +50,7 @@ public class ResourceViewGenerateSqlUtil { public String getSql() { PlainSelect plainSelect = initPlainSelectByMainResourceId(mainCiVo); for (ResourceEntityFieldMappingVo fieldMappingVo : fieldMappingList) { - addJoinTableByFieldMapping(fieldMappingVo, plainSelect); + addJoinTableByFieldMapping(fieldMappingVo, plainSelect, mainCiVo); } return plainSelect.toString(); } @@ -135,8 +135,8 @@ public class ResourceViewGenerateSqlUtil { * @param plainSelect * @return */ - private Column addJoinTableByFieldMapping(ResourceEntityFieldMappingVo fieldMappingVo, PlainSelect plainSelect) { - Table mainTable = (Table) plainSelect.getFromItem(); + private Column addJoinTableByFieldMapping(ResourceEntityFieldMappingVo fieldMappingVo, PlainSelect plainSelect, CiVo mainCiVo) { + Table mainTable = getTableByAlias("cientity_" + mainCiVo.getName()); String field = fieldMappingVo.getField(); String fromCi = fieldMappingVo.getFromCi(); Long fromCiId = fieldMappingVo.getFromCiId();