<?php //App__Entity__Product__ProductAssociation__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\\ProductAssociation',
            ],
            'namespace' => [
                'App\\Entity\\Product',
            ],
            'rootEntityName' => [
                'App\\Entity\\Product\\ProductAssociation',
            ],
            'customRepositoryClassName' => [
                'Sylius\\Bundle\\CoreBundle\\Doctrine\\ORM\\ProductAssociationRepository',
            ],
            'identifier' => [
                [
                    'id',
                ],
            ],
            'generatorType' => [
                4,
            ],
            'fieldMappings' => [
                [
                    'createdAt' => [
                        'fieldName' => 'createdAt',
                        'type' => 'datetime',
                        'columnName' => 'created_at',
                        'declared' => 'Sylius\\Component\\Product\\Model\\ProductAssociation',
                    ],
                    'updatedAt' => [
                        'fieldName' => 'updatedAt',
                        'type' => 'datetime',
                        'columnName' => 'updated_at',
                        'nullable' => true,
                        'declared' => 'Sylius\\Component\\Product\\Model\\ProductAssociation',
                    ],
                    'id' => [
                        'fieldName' => 'id',
                        'type' => 'integer',
                        'columnName' => 'id',
                        'id' => true,
                        'declared' => 'Sylius\\Component\\Product\\Model\\ProductAssociation',
                    ],
                ],
            ],
            'fieldNames' => [
                [
                    'created_at' => 'createdAt',
                    'updated_at' => 'updatedAt',
                    'id' => 'id',
                ],
            ],
            'columnNames' => [
                [
                    'createdAt' => 'created_at',
                    'updatedAt' => 'updated_at',
                    'id' => 'id',
                ],
            ],
            'table' => [
                [
                    'name' => 'sylius_product_association',
                    'uniqueConstraints' => [
                        'product_association_idx' => [
                            'columns' => [
                                'product_id',
                                'association_type_id',
                            ],
                        ],
                    ],
                ],
            ],
            'associationMappings' => [
                [
                    'type' => [
                        'fieldName' => 'type',
                        'targetEntity' => 'App\\Entity\\Product\\ProductAssociationType',
                        'joinColumns' => [
                            [
                                'name' => 'association_type_id',
                                'referencedColumnName' => 'id',
                                'nullable' => false,
                                'onDelete' => 'CASCADE',
                            ],
                        ],
                        'type' => 2,
                        'mappedBy' => null,
                        'inversedBy' => null,
                        'isOwningSide' => true,
                        'sourceEntity' => 'App\\Entity\\Product\\ProductAssociation',
                        'fetch' => 2,
                        'cascade' => [],
                        'isCascadeRemove' => false,
                        'isCascadePersist' => false,
                        'isCascadeRefresh' => false,
                        'isCascadeMerge' => false,
                        'isCascadeDetach' => false,
                        'sourceToTargetKeyColumns' => [
                            'association_type_id' => 'id',
                        ],
                        'joinColumnFieldNames' => [
                            'association_type_id' => 'association_type_id',
                        ],
                        'targetToSourceKeyColumns' => [
                            'id' => 'association_type_id',
                        ],
                        'orphanRemoval' => false,
                        'declared' => 'Sylius\\Component\\Product\\Model\\ProductAssociation',
                    ],
                    'owner' => [
                        'fieldName' => 'owner',
                        'targetEntity' => 'App\\Entity\\Product\\Product',
                        'inversedBy' => 'associations',
                        'joinColumns' => [
                            [
                                'name' => 'product_id',
                                'referencedColumnName' => 'id',
                                'nullable' => false,
                                'onDelete' => 'CASCADE',
                            ],
                        ],
                        'type' => 2,
                        'mappedBy' => null,
                        'isOwningSide' => true,
                        'sourceEntity' => 'App\\Entity\\Product\\ProductAssociation',
                        '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\\ProductAssociation',
                    ],
                    'associatedProducts' => [
                        'fieldName' => 'associatedProducts',
                        'targetEntity' => 'App\\Entity\\Product\\Product',
                        'joinTable' => [
                            'name' => 'sylius_product_association_product',
                            'joinColumns' => [
                                [
                                    'name' => 'association_id',
                                    'referencedColumnName' => 'id',
                                    'unique' => false,
                                    'nullable' => false,
                                    'onDelete' => 'CASCADE',
                                ],
                            ],
                            'inverseJoinColumns' => [
                                [
                                    'name' => 'product_id',
                                    'referencedColumnName' => 'id',
                                    'unique' => false,
                                    'nullable' => false,
                                    'onDelete' => 'CASCADE',
                                ],
                            ],
                        ],
                        'orderBy' => [
                            'id' => 'ASC',
                        ],
                        'type' => 8,
                        'mappedBy' => null,
                        'inversedBy' => null,
                        'isOwningSide' => true,
                        'sourceEntity' => 'App\\Entity\\Product\\ProductAssociation',
                        'fetch' => 2,
                        'cascade' => [],
                        'isCascadeRemove' => false,
                        'isCascadePersist' => false,
                        'isCascadeRefresh' => false,
                        'isCascadeMerge' => false,
                        'isCascadeDetach' => false,
                        'joinTableColumns' => [
                            'association_id',
                            'product_id',
                        ],
                        'isOnDeleteCascade' => true,
                        'relationToSourceKeyColumns' => [
                            'association_id' => 'id',
                        ],
                        'relationToTargetKeyColumns' => [
                            'product_id' => 'id',
                        ],
                        'orphanRemoval' => false,
                    ],
                ],
            ],
            'idGenerator' => [
                $o[1],
            ],
        ],
    ],
    $o[0],
    []
)];
