use of org.apache.cayenne.map.EmbeddedResult in project cayenne by apache.
the class CustomColumnSetExtractor method extractEmbeddedObject.
private void extractEmbeddedObject(String prefix, Property<?> property) {
Object o = property.getExpression().evaluate(context.getMetadata().getObjEntity());
if (!(o instanceof EmbeddedAttribute)) {
throw new CayenneRuntimeException("EmbeddedAttribute expected, %s found", o);
}
EmbeddedAttribute attribute = (EmbeddedAttribute) o;
EmbeddedResult result = new EmbeddedResult(attribute.getEmbeddable(), attribute.getAttributes().size());
attribute.getAttributes().forEach(attr -> {
Node sqlNode = context.getQualifierTranslator().translate(ExpressionFactory.dbPathExp(attr.getDbAttributePath()));
context.addResultNode(sqlNode, true, null, null);
result.addAttribute(attr);
});
context.getSqlResult().addEmbeddedResult(result);
}
Aggregations