title: doctrine GeneratedValue=NONE keeps inserting NULL for Id
body: <p>this is my entity:</p>
  
  <pre><code>class Foo
  {
      /**
       * @var int
       * @ORM\Id
       * @ORM\Column(name="custom_id", type="integer")
       * @ORM\GeneratedValue(strategy="NONE")
       */
      private $customId;
  
      public function __construct( $customId )
      {
          $this-&gt;customId = $customId;
      }
  
  }
  </code></pre>
  
  <p>now i'm generating a new instance</p>
  
  <pre><code>$foo = new Foo(123);
  dump($foo); // shows customId: 123
  $em-&gt;persist($foo);
  $em-&gt;flush();
  $em-&gt;clear();
  </code></pre>
  
  <blockquote>
    <p>An exception occurred while executing 'INSERT INTO table_foo
    (custom_id, foo, bar) VALUES (?, ?, ?)' with params [null, null,
    null]:</p>
    
    <p>SQLSTATE[23000]: Integrity constraint violation: 1048 Column
    'custom_id' cannot be null</p>
  </blockquote>
  
  <p>I know that it can't be NULL, thats why I'm setting it.
  Why does doctrine overrides the value with NULL? strategy is <em>NONE</em> and taking place in the constructor... What am I missing here? </p>