<?xml version="1.0" encoding="utf-8"?>
<doctrine-mapping xmlns="http://doctrine-project.org/schemas/orm/doctrine-mapping" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://doctrine-project.org/schemas/orm/doctrine-mapping http://doctrine-project.org/schemas/orm/doctrine-mapping.xsd">
  <entity repository-class="App\Entity\ControleModelRepository" name="App\Entity\ControleModel">
    <id name="id" type="integer" column="id">
      <generator strategy="AUTO"/>
    </id>
    <field name="nom" type="string" column="nom" length="255"/>
    <field name="seuilAcceptabilite" type="float" column="seuil_acceptabilite"/>
    <field name="isDefault" type="boolean" column="isDefault" nullable="true"/>

    <one-to-many field="itemsModel" target-entity="ItemControleModel" mapped-by="controleModel">
      <cascade>
            <cascade-persist/>
            <cascade-remove/>
      </cascade>
    </one-to-many>
    <one-to-many field="controles" target-entity="Controle" mapped-by="model" fetch="LAZY">
     <cascade>
            <cascade-persist/>
            <cascade-remove/>
      </cascade>
    </one-to-many>
    <many-to-one field="etablissement" target-entity="Structure" inversed-by="controleModels"  >
      <join-columns>
          <join-column name="structure_id" referenced-column-name="id" nullable="false"/>
      </join-columns>
    </many-to-one>

    <one-to-one field="structureDefault" target-entity="Structure" inversed-by="defaultControleModel">
            <join-column name="default_structure_id" referenced-column-name="id"   nullable="true"/>
    </one-to-one>

  </entity>
</doctrine-mapping>
