App\Entity\Produit:
    type: entity
    repositoryClass: App\Repository\ProduitRepository
    table: produit
    fields:
        id:
            id: true
            type: integer
            unsigned: false
            nullable: false
            generator:
                strategy: IDENTITY
        reference:
            type: string
            length: 255
            fixed: false
            nullable: false
        titre:
            type: string
            length: 255
            fixed: false
            nullable: false
        emplacement:
            type: string
            length: 255
            fixed: false
            nullable: true
        marque:
            type: string
            length: 255
            fixed: false
            nullable: true
        modele:
            type: string
            length: 255
            fixed: false
            nullable: true
        description:
            type: text
            nullable: true
        caracteristique:
            type: text
            nullable: true
        codebare:
            type: string
            length: 255
            fixed: false
            nullable: true
        prix_achat:
            type: float
            nullable: false
        prix_vente:
            type: float
            nullable: false
        taux_tva:
            type: float
            nullable: false
        quantite_stock:
            type: float
            nullable: true
        quantite_stock_min:
            type: float
            nullable: true
        quantite_consigne:
            type: float
            nullable: true
        photo:
            type: string
            length: 255
            fixed: false
            nullable: true
        prospectus:
            type: string
            length: 255
            fixed: false
            nullable: true
        motscles:
            type: text
            nullable: true
        estService:
            type: boolean
            nullable: true
        enCatalogue:
            type: boolean
            nullable: true
        taxable:
            type: boolean
            nullable: true
        unique:
            type: boolean
            nullable: true
            column: _unique
    manyToOne:
        magasin:
            targetEntity: Magasin
            cascade: {  }
            mappedBy: null
            inversedBy: produits
            joinColumns:
                magasin_id:
                    referencedColumnName: id
            orphanRemoval: false
        categorie:
            targetEntity: Categorie
            cascade: {  }
            mappedBy: null
            inversedBy: produits
            joinColumns:
                categorie_id:
                    referencedColumnName: id
            orphanRemoval: false
    oneToMany:
        stocks:
            targetEntity: Stock
            mappedBy: produit
            orphanRemoval: true
        aproduits:
            targetEntity: AchatProduit
            mappedBy: produit
            orphanRemoval: true
        vproduits:
            targetEntity: VenteProduit
            mappedBy: produit
        cproduits:
            targetEntity: CommandeProduit
            mappedBy: produit
        dproduits:
            targetEntity: DevisProduit
            mappedBy: produit
        mproduits:
            targetEntity: ModeleVenteProduit
            mappedBy: produit
            orphanRemoval: true
        eproduits:
            targetEntity: EtatProduit
            mappedBy: produit
            orphanRemoval: true
        attributValues:
            targetEntity: ProduitAttributValue
            mappedBy: produit
            cascade: [persist]
            orphanRemoval: true
        reparations:
            targetEntity: ReparationProduit
            mappedBy: produit
    manyToMany:
        fournisseurs:
            targetEntity: Fournisseur
            inversedBy: produits
            joinTable:
                name: produit_fournisseur
                joinColumns:
                    - name: produit_id
                      referencedColumnName: id
                inverseJoinColumns:
                    - name: fournisseur_id
                      referencedColumnName: id