{
// builder.
// Means it is a compound key! As other
// iterate for it's fields to populate it's values in
// order!
EmbeddableType compoundKey = metaModel.embeddable(field.getType());
Object compoundKeyObj = PropertyAccessorHelper.getObject(record, field);
for (Field compositeColumn : field.getType().getDeclaredFields())
{
if (!ReflectUtils.isTransientOrStatic(compositeColumn))
{
attribute = (SingularAttribute) compoundKey.getAttribute(compositeColumn.getName());
if (metaModel.isEmbeddable(((AbstractAttribute) attribute).getBindableJavaType()))
{
translateCompositeId(compoundKeyObj, m, type, metaModel, builders, columnBuilders,
externalProperties, kunderaMetadata, tableName, attribute);
}
else
{
onTranslation(type, builder, columnBuilder,
((AbstractAttribute) (compoundKey.getAttribute(compositeColumn.getName())))
.getJPAColumnName(), compoundKeyObj, compositeColumn);
}
}
}
}