Daten lesen von entity extension

Hi,
@Max_Shop danke für deine Antwort und auch zum Hinweis des Wording.

Die richtige Methode heißt getExtension(%myExtension%) .

Aber ich habe weiterhin Probleme, ich habe einen Datensatz gespeichert:


Dieser wurde mit folgenden Code eingefügt:

...
$this->productRepository
     ->upsert([[
         'id' => $idMainProduct,
         'components' => [
               'components' => $idProductComponent
         ]
]], $context);
....

Auslesen tu ich den Datensatz mit o.g. Anweisung:

$product = $this->productRepository
            ->search(
                new Criteria([$idMainProduct]),
                $context
            )
            ->first();

Dann mit $product->getExtension('components') bekomme ich ein Objekt meiner Klasse(?)
leider verstehe die Annotation nicht:

Returns a single extension struct element of this class

Deutsch

Gibt ein einzelnes Erweiterungsstrukturelement (<— ???) dieser Klasse zurück

…meint? Hab ich nun ein Objekt meiner Klasse?

Wie auch immer, der dump zeigt die ein objekt der ExtensionEntity-Klasse:

...
object(ProductComposer\Extension\ProductComponentEntity)#2179 (12) {
  ["components":"ProductComposer\Extension\ProductComponentEntity":private]=>
  array(0) {  *<========================= leer?*
  }
  ["_uniqueIdentifier":protected]=>
  string(32) "3d1e39d16c1341c8b7cb9c514ff4c8b0"
  ["versionId":protected]=>
  NULL
  ["translated":protected]=>
  array(0) {
  }
  ["createdAt":protected]=>
  object(DateTimeImmutable)#2198 (3) {
    ["date"]=>
    string(26) "2022-06-13 13:18:42.084000"
    ["timezone_type"]=>
    int(3)
    ["timezone"]=>
...

Die Zugehörige Klasse:

<?php declare(strict_types=1);

namespace ProductComposer\Extension;

use Shopware\Core\Framework\DataAbstractionLayer\Entity;
use Shopware\Core\Framework\DataAbstractionLayer\EntityIdTrait;


class ProductComponentEntity extends Entity
{
    use EntityIdTrait;

    private array $components = [];

    /**
     * @return array
     */
    public function getComponents(): array
    {
        return $this->components;
    }

    /**
     * @param string $idComponent
     */
    public function addComponent(string $idComponent): void
    {
        $this->components[] = $idComponent;
    }


}

Und hier meinProblem: die Eigenschaft components bleibt leer? Warum?