У меня есть простой вопрос относительно привязки @OneToMany с автоматически созданными идентификаторами - соответствующие части кода приведены ниже. Проблема, с которой я сталкиваюсь, заключается в том, что генерируемый пользовательский идентификатор не добавляется к экземпляру sampleRequest в каждом из моих отклонений. Он пытается вставить null в db, и я не разрешаю null, поэтому он терпит неудачу.Hibernate @ManyToOne с настраиваемыми идентификаторами
Спасибо!
@Entity
@Table(name="SAMPLE_REQUESTS")
public class SampleRequest implements Serializable {
@Id
@Column(name="REQUEST_ID")
@GenericGenerator(name="seq_id", strategy="com.tracker.services.SampleRequestSequenceGenerator")
@GeneratedValue(generator="seq_id")
private String requestId;
@OneToMany(cascade = {CascadeType.ALL}, fetch = FetchType.EAGER, mappedBy = "sampleRequest") //mappedBy signals hibernate that the key for the relationship is on the other side
private List<ProcessDeviation> deviations;
....
}
@Entity
@Table(name="PROCESS_DEVIATIONS")
public class ProcessDeviation implements Serializable {
@Id
@GeneratedValue
@Column(name="DEVIATION_ID")
private int deviationId;
@ManyToOne(cascade = CascadeType.ALL)
@JoinColumn(name="REQUEST_ID")
private SampleRequest sampleRequest;
...
}
SAMPLE_REQUESTS columns: REQUEST_ID, COMMENTS, etc.
PROCESS_DEVIATIONS columns: DEVIATION_ID, REQUEST_ID, COMMENTS, etc.