坚持下去,很多人没有任何事情发生?

时间:2015-10-04 15:55:00

标签: jpa many-to-many

您好我有两个班教授2.java和Projects2.java。这些是我的实体类,它们与多对多关系有关。这是我的Professor2类的一部分,我在其中声明了Project2实例的列表。

   @ManyToMany
private List<Projects2> projects = new ArrayList();

public List<Projects2> getProjects() {
    return projects;
}

public void setProjects(List<Projects2> projects) {
    this.projects = projects;
}

这是我的Project2类的一部分:

           @ManyToMany(mappedBy = "projects",cascade = CascadeType.PERSIST)
private List<Professor2> professor2s;

public List<Professor2> getProfessor2s() {
    return professor2s;
}

public void setProfessor2s(List<Professor2> professor2s) {
    this.professor2s = professor2s;
}
  public void addProfessor(Professor2 prof) 
   {
    if (!getProfessor2s().contains(prof)) 
    {
      getProfessor2s().add(prof);
    }
    if (!prof.getProjects().contains(this)) 
    {
      prof.getProjects().add(this);
    }
} 

这是持久化项目及其教授的功能:

      public void addProfAndProj(Professor2 p1 ,Projects2 p2)
{

    EntityManager em = emf.createEntityManager();
    p2.addProfessor(p1);
    try{
        em.getTransaction().begin();
        em.persist(p2);
        em.getTransaction().commit();
    } finally{
        em.close();
    }

}

问题是第三个表是连接表(通过我首先创建实体类的方式,然后是从它们创建数据库的方式)。里面没有显示任何数据。您认为哪里可能是问题。

0 个答案:

没有答案