protected function setField($ent, EntityDef $def, $fieldName, $fieldValue)
{
$metadata = $def->getEntityMetadata();
if ($metadata->isCollectionValuedAssociation($fieldName)) {
$metadata->setFieldValue($ent, $fieldName, $this->createCollectionFrom($fieldValue));
} else {
$metadata->setFieldValue($ent, $fieldName, $fieldValue);
if (is_object($fieldValue) && $metadata->isSingleValuedAssociation($fieldName)) {
$this->updateCollectionSideOfAssocation($ent, $metadata, $fieldName, $fieldValue);
}
}
}