getClassMetadata($entity::class); $idFields = $class->getIdentifierFieldNames(); $identifier = []; foreach ($idFields as $idField) { $value = $class->getFieldValue($entity, $idField); if (! isset($value)) { throw EntityMissingAssignedId::forField($entity, $idField); } if (isset($class->associationMappings[$idField])) { // NOTE: Single Columns as associated identifiers only allowed - this constraint it is enforced. $value = $em->getUnitOfWork()->getSingleIdentifierValue($value); } $identifier[$idField] = $value; } return $identifier; } }