title: Symfony 2 knplabs form translation - best way to change the referenceColumName
body: <p>A2lix required 'id' as referenceColumName. But I've entities with a different columName (e.g. ProductID instead of id). So I get error when I try to update my DB via doctrine:schema:update --force.</p>
  
  <p><strong>Example of my entity</strong></p>
  
  <pre><code>class Period
  {
  
      use ORMBehaviors\Translatable\Translatable,
          ORMBehaviors\Timestampable\Timestampable,
          ORMBehaviors\SoftDeletable\SoftDeletable
      ;
  
      /**
       * @var integer
       *
       * @ORM\Column(name="PeriodID", type="integer")
       * @ORM\Id
       * @ORM\GeneratedValue(strategy="AUTO")
       */
      private $id;
  
  ...
  </code></pre>
  
  <p><strong>Part of the TranslatableSubscriber class of KnpDoctrineBehaviors Package</strong></p>
  
  <pre><code>...
  
     private function mapTranslatable(ClassMetadata $classMetadata)
      {
          if (!$classMetadata-&gt;hasAssociation('translations')) {
              $classMetadata-&gt;mapOneToMany([
                  'fieldName'     =&gt; 'translations',
                  'mappedBy'      =&gt; 'translatable',
                  'indexBy'       =&gt; 'locale',
                  'cascade'       =&gt; ['persist', 'merge', 'remove'],
                  'fetch'         =&gt; $this-&gt;translatableFetchMode,
                  'targetEntity'  =&gt; $classMetadata-&gt;getReflectionClass()-&gt;getMethod('getTranslationEntityClass')-&gt;invoke(null),
                  'orphanRemoval' =&gt; true
              ]);
          }
      }
  
      private function mapTranslation(ClassMetadata $classMetadata)
      {
          if (!$classMetadata-&gt;hasAssociation('translatable')) {
  
              $classMetadata-&gt;mapManyToOne([
                  'fieldName'    =&gt; 'translatable',
                  'inversedBy'   =&gt; 'translations',
                  'fetch'         =&gt; $this-&gt;translationFetchMode,
                  'joinColumns'  =&gt; [[
                      'name'                 =&gt; 'translatable_id',
                      'referencedColumnName' =&gt; 'id',
                      'onDelete'             =&gt; 'CASCADE'
                  ]],
                  'targetEntity' =&gt; $classMetadata-&gt;getReflectionClass()-&gt;getMethod('getTranslatableEntityClass')-&gt;invoke(null),
              ]);
          }
  
          $name = $classMetadata-&gt;getTableName().'_unique_translation';
          if (!$this-&gt;hasUniqueTranslationConstraint($classMetadata, $name)) {
              $classMetadata-&gt;table['uniqueConstraints'][$name] = [
                  'columns' =&gt; ['translatable_id', 'locale' ]
              ];
          }
  
          if (!$classMetadata-&gt;hasField('locale')) {
              $classMetadata-&gt;mapField(array(
                  'fieldName' =&gt; 'locale',
                  'type'      =&gt; 'string'
              ));
          }
  
      }
  
  ...
  </code></pre>
  
  <p>Any idea or help would be appreciate.</p>
  
  <p>Many thanks ;-)</p>