ProductEntity erweitern mit zusätzlichen Feldern

Hallo,

irgendwie bin ich nicht allein mit meinem Verständissproblem bezüglich der Erweiterung einer Core-Entity. Und ich finde keine Lösung. Als Tutorial nutze ich das How To BundleExample

Also, ich habe eine Entität MyProduct , welches das eine Erweiterung der Product-Entität ist und zusätzliche Felder/Eigenschaften hat.

Die Migration-Datei für MyProduct:

...
class Migration1596974074MyProduct extends MigrationStep
{
    use InheritanceUpdaterTrait;
    ...
    public function update(Connection $connection): void
    {
        $connection->executeUpdate('
            CREATE TABLE IF NOT EXISTS `my_product` (
                `id_campaign` BINARY(16) NOT NULL,
                `product_id` BINARY(16) NOT NULL,
                `product_version_id` BINARY(16) NOT NULL,
                `name` VARCHAR(255) NULL COMMENT "specific product name for this campaign",
                `created_at` DATETIME(3) NOT NULL,
                PRIMARY KEY (`id_campaign`, `product_id`, `product_version_id`),
                CONSTRAINT `fk.my_product.id_campaign` FOREIGN KEY (`id_campaign`)
                REFERENCES `my_campaign` (`id`),
                CONSTRAINT `fk.my_product.product_id` FOREIGN KEY (`product_id`)
                REFERENCES `product` (`id`)
            ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
        ');

        $this->updateInheritance($connection, 'product', 'my_campaigns');
    }
    ...
}

Dazu gibt es die MyProductDefinition.php

class LiveshoppingProductDefinition extends MappingEntityDefinition
{

    public function getEntityName(): string
    {
        return 'my_product';
    }

    protected function defineFields(): FieldCollection
    {
        return new FieldCollection([
            // gekürzt: FK-Fields für id_campaign, product_id, product_version_id
            ...  
            (new StringField('name', 'name')),
           // gekürzt: ManyToMnayAssociationFields
           ...
        ]);
    }
}

Und die ProductExtension.php

...
public function getDefinitionClass(): string
    {
        return ProductDefinition::class;
    }

    public function extendFields(FieldCollection $collection): void
    {
        $collection->add(
            (new ManyToManyAssociationField(
                ...
            ))->addFlags(new Inherited())
        );
    }

 

In meinem Modul gibt es ein Formular, wo die Eigenschaften bearbeitet werden sollen. Den orginalen Produktname product.name kann ich ausgeben, wie aber komme ich beispielsweise an my_product.name? Also wie komme ich an die MyProduct-Entität? Muß da eine weitere Entität erstellt werden?

Das Beispiel BundleExample speichert ja nur Daten, welche schon vorhanden sind. Was ist mit den neuen, zusätzlichen und zu administrierenden Feldern?