Log log = getLog();
for (SqlResultSetMapping anno : annos) {
if (log.isTraceEnabled())
log.trace(_loc.get("parse-sqlrsmapping", anno.name()));
QueryResultMapping result = repos.getCachedQueryResultMapping
(null, anno.name());
if (result != null) {
if (log.isWarnEnabled())
log.warn(_loc.get("dup-sqlrsmapping", anno.name(), cm));
continue;
}
result = repos.addQueryResultMapping(null, anno.name());
result.setSource(getSourceFile(), cm.getDescribedType(),
result.SRC_ANNOTATIONS);
for (EntityResult entity : anno.entities()) {
QueryResultMapping.PCResult entityResult = result.addPCResult
(entity.entityClass());
if (!StringUtils.isEmpty(entity.discriminatorColumn()))
entityResult.addMapping(entityResult.DISCRIMINATOR,
entity.discriminatorColumn());
for (FieldResult field : entity.fields()) {
DBIdentifier sColName = DBIdentifier.newColumn(field.column(), delimit());
entityResult.addMapping(field.name(), sColName.getName());
}
}
for (ColumnResult column : anno.columns()) {
DBIdentifier sName = DBIdentifier.newColumn(column.name(), delimit());
result.addColumnResult(sName.getName());
}
}
}