Eccube\Entity\Category:
    type: entity
    table: dtb_category
    repositoryClass: Eccube\Repository\CategoryRepository
    id:
        id:
            type: integer
            nullable: false
            unsigned: false
            id: true
            column: category_id
            generator:
                strategy: AUTO
    fields:
        name:
            type: text
            nullable: false
            column: category_name
        level:
            type: integer
            nullable: false
            unsigned: false
        rank:
            type: integer
            nullable: false
            unsigned: false
        create_date:
            type: datetime
            nullable: false
        update_date:
            type: datetime
            nullable: false
        del_flg:
            type: smallint
            nullable: false
            unsigned: false
            options:
                default: '0'
    manyToOne:
        Parent:
            targetEntity: Eccube\Entity\Category
            inversedBy: Children
            joinColumn:
                name: parent_category_id
                referencedColumnName: category_id
        Creator:
            targetEntity: Eccube\Entity\Member
            joinColumn:
                name: creator_id
                referencedColumnName: member_id
    oneToMany:
        ProductCategories:
            targetEntity: Eccube\Entity\ProductCategory
            mappedBy: Category
        Children:
            targetEntity: Eccube\Entity\Category
            mappedBy: Parent
            orderBy:
                rank: DESC
    oneToOne:
        CategoryCount:
            targetEntity: CategoryCount
            mappedBy: Category
        CategoryTotalCount:
            targetEntity: CategoryTotalCount
            mappedBy: Category
    lifecycleCallbacks: {  }
