<?php //Akeneo__Category__Infrastructure__Component__Model__Category__CLASSMETADATA__

return [PHP_INT_MAX, static function () { return \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' => [
                'Akeneo\\Category\\Infrastructure\\Component\\Model\\Category',
            ],
            'namespace' => [
                'Akeneo\\Category\\Infrastructure\\Component\\Model',
            ],
            'rootEntityName' => [
                'Akeneo\\Category\\Infrastructure\\Component\\Model\\Category',
            ],
            'customRepositoryClassName' => [
                'Akeneo\\Category\\Infrastructure\\Doctrine\\ORM\\Repository\\CategoryRepository',
            ],
            'identifier' => [
                [
                    'id',
                ],
            ],
            'generatorType' => [
                4,
            ],
            'fieldMappings' => [
                [
                    'id' => [
                        'fieldName' => 'id',
                        'type' => 'integer',
                        'id' => true,
                        'columnName' => 'id',
                    ],
                    'code' => [
                        'fieldName' => 'code',
                        'type' => 'string',
                        'length' => 100,
                        'unique' => true,
                        'columnName' => 'code',
                    ],
                    'created' => [
                        'fieldName' => 'created',
                        'type' => 'datetime',
                        'columnName' => 'created',
                    ],
                    'updated' => [
                        'fieldName' => 'updated',
                        'type' => 'datetime',
                        'options' => [
                            'default' => 'CURRENT_TIMESTAMP',
                        ],
                        'columnName' => 'updated',
                    ],
                    'root' => [
                        'fieldName' => 'root',
                        'type' => 'integer',
                        'columnName' => 'root',
                    ],
                    'level' => [
                        'fieldName' => 'level',
                        'type' => 'integer',
                        'columnName' => 'lvl',
                    ],
                    'left' => [
                        'fieldName' => 'left',
                        'type' => 'integer',
                        'columnName' => 'lft',
                    ],
                    'right' => [
                        'fieldName' => 'right',
                        'type' => 'integer',
                        'columnName' => 'rgt',
                    ],
                ],
            ],
            'fieldNames' => [
                [
                    'id' => 'id',
                    'code' => 'code',
                    'created' => 'created',
                    'updated' => 'updated',
                    'root' => 'root',
                    'lvl' => 'level',
                    'lft' => 'left',
                    'rgt' => 'right',
                ],
            ],
            'columnNames' => [
                [
                    'id' => 'id',
                    'code' => 'code',
                    'created' => 'created',
                    'updated' => 'updated',
                    'root' => 'root',
                    'level' => 'lvl',
                    'left' => 'lft',
                    'right' => 'rgt',
                ],
            ],
            'table' => [
                [
                    'name' => 'pim_catalog_category',
                    'indexes' => [
                        'left_idx' => [
                            'columns' => [
                                'lft',
                            ],
                        ],
                        'updated_idx' => [
                            'columns' => [
                                'updated',
                            ],
                        ],
                    ],
                    'uniqueConstraints' => [
                        'pim_category_code_uc' => [
                            'columns' => [
                                'code',
                            ],
                        ],
                    ],
                ],
            ],
            'associationMappings' => [
                [
                    'translations' => [
                        'fieldName' => 'translations',
                        'targetEntity' => 'Akeneo\\Category\\Infrastructure\\Component\\Model\\CategoryTranslation',
                        'mappedBy' => 'foreignKey',
                        'cascade' => [
                            'persist',
                            'detach',
                        ],
                        'orphanRemoval' => true,
                        'type' => 4,
                        'inversedBy' => null,
                        'isOwningSide' => false,
                        'sourceEntity' => 'Akeneo\\Category\\Infrastructure\\Component\\Model\\Category',
                        'fetch' => 2,
                        'isCascadeRemove' => true,
                        'isCascadePersist' => true,
                        'isCascadeRefresh' => false,
                        'isCascadeMerge' => false,
                        'isCascadeDetach' => true,
                    ],
                    'channels' => [
                        'fieldName' => 'channels',
                        'targetEntity' => 'Akeneo\\Channel\\Infrastructure\\Component\\Model\\Channel',
                        'mappedBy' => 'category',
                        'type' => 4,
                        'inversedBy' => null,
                        'isOwningSide' => false,
                        'sourceEntity' => 'Akeneo\\Category\\Infrastructure\\Component\\Model\\Category',
                        'fetch' => 2,
                        'cascade' => [],
                        'isCascadeRemove' => false,
                        'isCascadePersist' => false,
                        'isCascadeRefresh' => false,
                        'isCascadeMerge' => false,
                        'isCascadeDetach' => false,
                        'orphanRemoval' => false,
                    ],
                    'children' => [
                        'fieldName' => 'children',
                        'targetEntity' => 'Akeneo\\Category\\Infrastructure\\Component\\Model\\Category',
                        'mappedBy' => 'parent',
                        'cascade' => [
                            'persist',
                        ],
                        'orderBy' => [
                            'left' => 'ASC',
                        ],
                        'type' => 4,
                        'inversedBy' => null,
                        'isOwningSide' => false,
                        'sourceEntity' => 'Akeneo\\Category\\Infrastructure\\Component\\Model\\Category',
                        'fetch' => 2,
                        'isCascadeRemove' => false,
                        'isCascadePersist' => true,
                        'isCascadeRefresh' => false,
                        'isCascadeMerge' => false,
                        'isCascadeDetach' => false,
                        'orphanRemoval' => false,
                    ],
                    'parent' => [
                        'fieldName' => 'parent',
                        'targetEntity' => 'Akeneo\\Category\\Infrastructure\\Component\\Model\\Category',
                        'inversedBy' => 'children',
                        'joinColumns' => [
                            [
                                'referencedColumnName' => 'id',
                                'name' => 'parent_id',
                                'onDelete' => 'SET NULL',
                            ],
                        ],
                        'type' => 2,
                        'mappedBy' => null,
                        'isOwningSide' => true,
                        'sourceEntity' => 'Akeneo\\Category\\Infrastructure\\Component\\Model\\Category',
                        'fetch' => 2,
                        'cascade' => [],
                        'isCascadeRemove' => false,
                        'isCascadePersist' => false,
                        'isCascadeRefresh' => false,
                        'isCascadeMerge' => false,
                        'isCascadeDetach' => false,
                        'sourceToTargetKeyColumns' => [
                            'parent_id' => 'id',
                        ],
                        'joinColumnFieldNames' => [
                            'parent_id' => 'parent_id',
                        ],
                        'targetToSourceKeyColumns' => [
                            'id' => 'parent_id',
                        ],
                        'orphanRemoval' => false,
                    ],
                    'products' => [
                        'fieldName' => 'products',
                        'targetEntity' => 'Akeneo\\Pim\\Enrichment\\Component\\Product\\Model\\Product',
                        'fetch' => 4,
                        'mappedBy' => 'categories',
                        'type' => 8,
                        'inversedBy' => null,
                        'isOwningSide' => false,
                        'sourceEntity' => 'Akeneo\\Category\\Infrastructure\\Component\\Model\\Category',
                        'cascade' => [],
                        'isCascadeRemove' => false,
                        'isCascadePersist' => false,
                        'isCascadeRefresh' => false,
                        'isCascadeMerge' => false,
                        'isCascadeDetach' => false,
                        'orphanRemoval' => false,
                    ],
                ],
            ],
            'idGenerator' => [
                $o[1],
            ],
            'changeTrackingPolicy' => [
                2,
            ],
        ],
    ],
    $o[0],
    []
); }];
