<?php //App__Entity__Product__ProductVariant__CLASSMETADATA__

return [PHP_INT_MAX, static fn () => \Symfony\Component\VarExporter\Internal\Hydrator::hydrate(
    $o = [
        clone (($p = &\Symfony\Component\VarExporter\Internal\Registry::$prototypes)['Doctrine\\ORM\\Mapping\\ClassMetadata'] ?? \Symfony\Component\VarExporter\Internal\Registry::p('Doctrine\\ORM\\Mapping\\ClassMetadata')),
        clone ($p['Doctrine\\ORM\\Id\\IdentityGenerator'] ?? \Symfony\Component\VarExporter\Internal\Registry::p('Doctrine\\ORM\\Id\\IdentityGenerator')),
    ],
    null,
    [
        'stdClass' => [
            'name' => [
                'App\\Entity\\Product\\ProductVariant',
            ],
            'namespace' => [
                'App\\Entity\\Product',
            ],
            'rootEntityName' => [
                'App\\Entity\\Product\\ProductVariant',
            ],
            'customRepositoryClassName' => [
                'Sylius\\Bundle\\CoreBundle\\Doctrine\\ORM\\ProductVariantRepository',
            ],
            'identifier' => [
                [
                    'id',
                ],
            ],
            'generatorType' => [
                4,
            ],
            'fieldMappings' => [
                [
                    'code' => [
                        'fieldName' => 'code',
                        'type' => 'string',
                        'columnName' => 'code',
                        'unique' => true,
                        'nullable' => false,
                        'declared' => 'Sylius\\Component\\Product\\Model\\ProductVariant',
                    ],
                    'createdAt' => [
                        'fieldName' => 'createdAt',
                        'type' => 'datetime',
                        'columnName' => 'created_at',
                        'declared' => 'Sylius\\Component\\Product\\Model\\ProductVariant',
                    ],
                    'updatedAt' => [
                        'fieldName' => 'updatedAt',
                        'type' => 'datetime',
                        'columnName' => 'updated_at',
                        'nullable' => true,
                        'declared' => 'Sylius\\Component\\Product\\Model\\ProductVariant',
                    ],
                    'position' => [
                        'fieldName' => 'position',
                        'type' => 'integer',
                        'columnName' => 'position',
                        'declared' => 'Sylius\\Component\\Product\\Model\\ProductVariant',
                    ],
                    'enabled' => [
                        'fieldName' => 'enabled',
                        'type' => 'boolean',
                        'columnName' => 'enabled',
                        'declared' => 'Sylius\\Component\\Product\\Model\\ProductVariant',
                    ],
                    'id' => [
                        'fieldName' => 'id',
                        'type' => 'integer',
                        'columnName' => 'id',
                        'id' => true,
                        'declared' => 'Sylius\\Component\\Product\\Model\\ProductVariant',
                    ],
                    'version' => [
                        'fieldName' => 'version',
                        'type' => 'integer',
                        'default' => 1,
                        'columnName' => 'version',
                        'declared' => 'Sylius\\Component\\Core\\Model\\ProductVariant',
                    ],
                    'onHold' => [
                        'fieldName' => 'onHold',
                        'type' => 'integer',
                        'columnName' => 'on_hold',
                        'declared' => 'Sylius\\Component\\Core\\Model\\ProductVariant',
                    ],
                    'onHand' => [
                        'fieldName' => 'onHand',
                        'type' => 'integer',
                        'columnName' => 'on_hand',
                        'declared' => 'Sylius\\Component\\Core\\Model\\ProductVariant',
                    ],
                    'tracked' => [
                        'fieldName' => 'tracked',
                        'type' => 'boolean',
                        'columnName' => 'tracked',
                        'declared' => 'Sylius\\Component\\Core\\Model\\ProductVariant',
                    ],
                    'width' => [
                        'fieldName' => 'width',
                        'type' => 'float',
                        'columnName' => 'width',
                        'nullable' => true,
                        'declared' => 'Sylius\\Component\\Core\\Model\\ProductVariant',
                    ],
                    'height' => [
                        'fieldName' => 'height',
                        'type' => 'float',
                        'columnName' => 'height',
                        'nullable' => true,
                        'declared' => 'Sylius\\Component\\Core\\Model\\ProductVariant',
                    ],
                    'depth' => [
                        'fieldName' => 'depth',
                        'type' => 'float',
                        'columnName' => 'depth',
                        'nullable' => true,
                        'declared' => 'Sylius\\Component\\Core\\Model\\ProductVariant',
                    ],
                    'weight' => [
                        'fieldName' => 'weight',
                        'type' => 'float',
                        'columnName' => 'weight',
                        'nullable' => true,
                        'declared' => 'Sylius\\Component\\Core\\Model\\ProductVariant',
                    ],
                    'shippingRequired' => [
                        'fieldName' => 'shippingRequired',
                        'type' => 'boolean',
                        'columnName' => 'shipping_required',
                        'declared' => 'Sylius\\Component\\Core\\Model\\ProductVariant',
                    ],
                ],
            ],
            'fieldNames' => [
                [
                    'code' => 'code',
                    'created_at' => 'createdAt',
                    'updated_at' => 'updatedAt',
                    'position' => 'position',
                    'enabled' => 'enabled',
                    'id' => 'id',
                    'version' => 'version',
                    'on_hold' => 'onHold',
                    'on_hand' => 'onHand',
                    'tracked' => 'tracked',
                    'width' => 'width',
                    'height' => 'height',
                    'depth' => 'depth',
                    'weight' => 'weight',
                    'shipping_required' => 'shippingRequired',
                ],
            ],
            'columnNames' => [
                [
                    'code' => 'code',
                    'createdAt' => 'created_at',
                    'updatedAt' => 'updated_at',
                    'position' => 'position',
                    'enabled' => 'enabled',
                    'id' => 'id',
                    'version' => 'version',
                    'onHold' => 'on_hold',
                    'onHand' => 'on_hand',
                    'tracked' => 'tracked',
                    'width' => 'width',
                    'height' => 'height',
                    'depth' => 'depth',
                    'weight' => 'weight',
                    'shippingRequired' => 'shipping_required',
                ],
            ],
            'table' => [
                [
                    'name' => 'sylius_product_variant',
                ],
            ],
            'associationMappings' => [
                [
                    'product' => [
                        'fieldName' => 'product',
                        'targetEntity' => 'App\\Entity\\Product\\Product',
                        'inversedBy' => 'variants',
                        'joinColumns' => [
                            [
                                'name' => 'product_id',
                                'referencedColumnName' => 'id',
                                'nullable' => false,
                                'onDelete' => 'CASCADE',
                            ],
                        ],
                        'type' => 2,
                        'mappedBy' => null,
                        'isOwningSide' => true,
                        'sourceEntity' => 'App\\Entity\\Product\\ProductVariant',
                        'fetch' => 2,
                        'cascade' => [],
                        'isCascadeRemove' => false,
                        'isCascadePersist' => false,
                        'isCascadeRefresh' => false,
                        'isCascadeMerge' => false,
                        'isCascadeDetach' => false,
                        'sourceToTargetKeyColumns' => [
                            'product_id' => 'id',
                        ],
                        'joinColumnFieldNames' => [
                            'product_id' => 'product_id',
                        ],
                        'targetToSourceKeyColumns' => [
                            'id' => 'product_id',
                        ],
                        'orphanRemoval' => false,
                        'declared' => 'Sylius\\Component\\Product\\Model\\ProductVariant',
                    ],
                    'taxCategory' => [
                        'fieldName' => 'taxCategory',
                        'targetEntity' => 'App\\Entity\\Taxation\\TaxCategory',
                        'joinColumns' => [
                            [
                                'name' => 'tax_category_id',
                                'referencedColumnName' => 'id',
                                'nullable' => true,
                                'onDelete' => 'SET NULL',
                            ],
                        ],
                        'type' => 2,
                        'mappedBy' => null,
                        'inversedBy' => null,
                        'isOwningSide' => true,
                        'sourceEntity' => 'App\\Entity\\Product\\ProductVariant',
                        'fetch' => 2,
                        'cascade' => [],
                        'isCascadeRemove' => false,
                        'isCascadePersist' => false,
                        'isCascadeRefresh' => false,
                        'isCascadeMerge' => false,
                        'isCascadeDetach' => false,
                        'sourceToTargetKeyColumns' => [
                            'tax_category_id' => 'id',
                        ],
                        'joinColumnFieldNames' => [
                            'tax_category_id' => 'tax_category_id',
                        ],
                        'targetToSourceKeyColumns' => [
                            'id' => 'tax_category_id',
                        ],
                        'orphanRemoval' => false,
                        'declared' => 'Sylius\\Component\\Core\\Model\\ProductVariant',
                    ],
                    'shippingCategory' => [
                        'fieldName' => 'shippingCategory',
                        'targetEntity' => 'App\\Entity\\Shipping\\ShippingCategory',
                        'joinColumns' => [
                            [
                                'name' => 'shipping_category_id',
                                'referencedColumnName' => 'id',
                                'nullable' => true,
                                'onDelete' => 'SET NULL',
                            ],
                        ],
                        'type' => 2,
                        'mappedBy' => null,
                        'inversedBy' => null,
                        'isOwningSide' => true,
                        'sourceEntity' => 'App\\Entity\\Product\\ProductVariant',
                        'fetch' => 2,
                        'cascade' => [],
                        'isCascadeRemove' => false,
                        'isCascadePersist' => false,
                        'isCascadeRefresh' => false,
                        'isCascadeMerge' => false,
                        'isCascadeDetach' => false,
                        'sourceToTargetKeyColumns' => [
                            'shipping_category_id' => 'id',
                        ],
                        'joinColumnFieldNames' => [
                            'shipping_category_id' => 'shipping_category_id',
                        ],
                        'targetToSourceKeyColumns' => [
                            'id' => 'shipping_category_id',
                        ],
                        'orphanRemoval' => false,
                        'declared' => 'Sylius\\Component\\Core\\Model\\ProductVariant',
                    ],
                    'translations' => [
                        'fieldName' => 'translations',
                        'targetEntity' => 'App\\Entity\\Product\\ProductVariantTranslation',
                        'mappedBy' => 'translatable',
                        'fetch' => 4,
                        'indexBy' => 'locale',
                        'cascade' => [
                            'persist',
                            'merge',
                            'remove',
                        ],
                        'orphanRemoval' => true,
                        'type' => 4,
                        'inversedBy' => null,
                        'isOwningSide' => false,
                        'sourceEntity' => 'App\\Entity\\Product\\ProductVariant',
                        'isCascadeRemove' => true,
                        'isCascadePersist' => true,
                        'isCascadeRefresh' => false,
                        'isCascadeMerge' => true,
                        'isCascadeDetach' => false,
                    ],
                    'channelPricings' => [
                        'fieldName' => 'channelPricings',
                        'mappedBy' => 'productVariant',
                        'targetEntity' => 'App\\Entity\\Channel\\ChannelPricing',
                        'cascade' => [
                            'remove',
                            'persist',
                            'refresh',
                            'merge',
                            'detach',
                        ],
                        'orphanRemoval' => true,
                        'orderBy' => [
                            'id' => 'ASC',
                        ],
                        'indexBy' => 'channelCode',
                        'type' => 4,
                        'inversedBy' => null,
                        'isOwningSide' => false,
                        'sourceEntity' => 'App\\Entity\\Product\\ProductVariant',
                        'fetch' => 2,
                        'isCascadeRemove' => true,
                        'isCascadePersist' => true,
                        'isCascadeRefresh' => true,
                        'isCascadeMerge' => true,
                        'isCascadeDetach' => true,
                    ],
                    'images' => [
                        'fieldName' => 'images',
                        'targetEntity' => 'App\\Entity\\Product\\ProductImage',
                        'mappedBy' => 'productVariants',
                        'cascade' => [
                            'persist',
                        ],
                        'orderBy' => [
                            'id' => 'ASC',
                        ],
                        'type' => 8,
                        'inversedBy' => null,
                        'isOwningSide' => false,
                        'sourceEntity' => 'App\\Entity\\Product\\ProductVariant',
                        'fetch' => 2,
                        'isCascadeRemove' => false,
                        'isCascadePersist' => true,
                        'isCascadeRefresh' => false,
                        'isCascadeMerge' => false,
                        'isCascadeDetach' => false,
                        'orphanRemoval' => false,
                    ],
                    'optionValues' => [
                        'fieldName' => 'optionValues',
                        'targetEntity' => 'App\\Entity\\Product\\ProductOptionValue',
                        'joinTable' => [
                            'name' => 'sylius_product_variant_option_value',
                            'joinColumns' => [
                                [
                                    'name' => 'variant_id',
                                    'referencedColumnName' => 'id',
                                    'unique' => false,
                                    'nullable' => false,
                                ],
                            ],
                            'inverseJoinColumns' => [
                                [
                                    'name' => 'option_value_id',
                                    'referencedColumnName' => 'id',
                                    'unique' => false,
                                    'nullable' => false,
                                ],
                            ],
                        ],
                        'orderBy' => [
                            'id' => 'ASC',
                        ],
                        'type' => 8,
                        'mappedBy' => null,
                        'inversedBy' => null,
                        'isOwningSide' => true,
                        'sourceEntity' => 'App\\Entity\\Product\\ProductVariant',
                        'fetch' => 2,
                        'cascade' => [],
                        'isCascadeRemove' => false,
                        'isCascadePersist' => false,
                        'isCascadeRefresh' => false,
                        'isCascadeMerge' => false,
                        'isCascadeDetach' => false,
                        'joinTableColumns' => [
                            'variant_id',
                            'option_value_id',
                        ],
                        'relationToSourceKeyColumns' => [
                            'variant_id' => 'id',
                        ],
                        'relationToTargetKeyColumns' => [
                            'option_value_id' => 'id',
                        ],
                        'orphanRemoval' => false,
                    ],
                ],
            ],
            'idGenerator' => [
                $o[1],
            ],
            'requiresFetchAfterChange' => [
                true,
            ],
            'isVersioned' => [
                true,
            ],
            'versionField' => [
                'version',
            ],
        ],
    ],
    $o[0],
    []
)];
