Hibernate@manytone与自定义生成的ID

Hibernate@manytone与自定义生成的ID,hibernate,many-to-one,Hibernate,Many To One,我有一个关于@OneToMany与自动生成的ID绑定的简单问题-下面是代码的相关部分。我面临的问题是,在我的每个偏差中,生成的自定义id没有添加到sampleRequest实例中。它试图在数据库中插入null,而我不允许null,因此它失败了 谢谢 @Entity @Table(name="SAMPLE_REQUESTS") public class SampleRequest implements Serializable { @Id @Column(name="REQUEST_

我有一个关于@OneToMany与自动生成的ID绑定的简单问题-下面是代码的相关部分。我面临的问题是,在我的每个偏差中,生成的自定义id没有添加到sampleRequest实例中。它试图在数据库中插入null,而我不允许null,因此它失败了

谢谢

@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.

您需要先保存sampleRequest,并在保存之前将其id分配到ProcessDeviation中