0

我正在编写人力资源管理系统,并且正在尝试添加简历。在后端(Java)中,我有一个 ResumeHead 类,其中包括 id、coverLetter、createdAt 等字段,并且它还有一个字段“private List resumeLanguage;” 像那样。通过这种方式,当我们添加简历时,我尝试创建多个 ResumeLanguage。因此,ResumeLanguage 类的 id 为 ResumeHead。所以,问题来了:在前端(React)O 想要添加简历我需要先添加 ResumeHead,然后添加 ResumeLanguage。为了添加 ResumeLanguage,我需要 ResumeHead 的 id。直接添加 ResumeHead 后如何获取 ResumeHead 的 id?

4

1 回答 1

0

在 JPA 中,您需要使用ResumeHead 实体中List<ResumeLanguage>的注释创建一个。@OneToMany然后,将 ResumeLanguage 对象添加到列表中,以保持调用entityManager.persist(head);(不要忘记使用 JPA 事务),仅此而已。该方法应如下所示:

void mymethod(){
   var head = getResumeHeadFromUI();
   head.setResumeLanguages(getResumeLanguagesFromUI());

   var em = someMethodToGetEntityManager();

   try{
      em.getTransaction().begin();
      em.persist(head);
      em.getTransaction().commit();
   }catch(PersistenceException e){
      if(em.getTransaction().isActive()){
         em.getTransaction().rollback();
      }
      throw e;
   }
}

这样,您无需在任何地方指定 ResumeHead ID,JPA 会处理它。

于 2021-07-19T06:56:16.420 回答