title: JPA OneToMany and ManyToOne: Error NULL not allowed for column
body: <p>I'm using JPA with hibernate as provider. There are two entities:</p>
  
  <pre><code>@Entity
  @Table(name = "PROYECTOS")
  public class Proyecto {
      @Id
      private Long id;
      ...
      @OneToMany(mappedBy = "proyecto", cascade = CascadeType.PERSIST, orphanRemoval = true)
      private List&lt;Incidencia&gt; incidencias;
      ...
  }
  
  @Entity
  @Table(name = "INCIDENCIAS")
  public class Incidencia {
      @Id
      private Long id;
      ...
      @ManyToOne(cascade = CascadeType.PERSIST, optional = false)
      @JoinColumn(name = "ID_PROYECTO", nullable = false)
      @NotNull
      private Proyecto proyecto;
      ...
      public Incidencia(Proyecto proyecto, Usuario usuario, String descripcion,
          Date fechaYHora) {
          super();
          this.proyecto = proyecto;
          this.usuario = usuario;
          this.descripcion = descripcion;
          this.fechaYHora = fechaYHora;
      }
      ...
  }
  </code></pre>
  
  <p>When I execute a test method and try to persist "Incidencia" class ("Proyecto" was persisted before):</p>
  
  <pre><code>...
  entityManager.persist(proyecto);
  entityManager.flush();
  ...
  Incidencia incidencia = new Incidencia(proyectoFind, usuario,
                  "1ª incidencia del proyecto", new Date());
  proyecto.getIncidencias().add(incidencia);
  entityManager.persist(proyecto);
  entityManager.flush();
  ...
  </code></pre>
  
  <p>An exception is thrown from the last flush:</p>
  
  <pre><code>    ... 35 more
  Caused by: org.h2.jdbc.JdbcBatchUpdateException: La columna "PROYECTO" no permite valores nulos (NULL)
  NULL not allowed for column "PROYECTO"; SQL statement:
  insert into INCIDENCIAS (DESCRIPCION, FECHA_Y_HORA, ID_PROYECTO, ID_USUARIO, ID) values (?, ?, ?, ?, ?) [23502-175]
      at org.h2.jdbc.JdbcPreparedStatement.executeBatch(JdbcPreparedStatement.java:1167)
      at org.hibernate.jdbc.BatchingBatcher.doExecuteBatch(BatchingBatcher.java:70)
      at org.hibernate.jdbc.AbstractBatcher.executeBatch(AbstractBatcher.java:268)
      ... 41 more
  </code></pre>
  
  <p>I'm sure that "proyecto" is set in "Incidencia" because in its constructor:</p>
  
  <pre><code>this.proyecto = proyecto;
  </code></pre>
  
  <p>So, I can't understand why this exception is thrown.</p>
  
  <p>Any help is greatly appreciated.</p>