# Many-to-many unidirectional, join table empty after persist

**URL:** <https://discourse.hibernate.org/t/many-to-many-unidirectional-join-table-empty-after-persist/4627>\
**Category:** Hibernate ORM\
**Created:** [September 28, 2020, 12:08pm UTC](https://discourse.hibernate.org/t/many-to-many-unidirectional-join-table-empty-after-persist/4627 "2020-09-28T12:08:28Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![NickiMueller](https://avatars.discourse-cdn.com/v4/letter/n/e19b73/32.png) [@NickiMueller](https://discourse.hibernate.org/u/NickiMueller)\
**Post date:** [September 28, 2020, 12:08pm UTC](https://discourse.hibernate.org/t/many-to-many-unidirectional-join-table-empty-after-persist/4627/1 "2020-09-28T12:08:28Z")

</div>

Hi,  
I have got a many-to-many relationship between entities instructor and student. The student is saved and persisted first. Then I create a new instructor and try to add the student to the studentList in instructor. Then I save (persist) the instructor. The instructor is persisted but the jointable is empty. Any ideas?

```auto
@Entity
@Table(name = "instructor")
@PersistenceContext(unitName = "processEntities")
public class Instructor extends Person {

  private static final long serialVersionUID = 1L;

  @ManyToMany
  @JoinTable(
        name = "instructor_student", joinColumns = @JoinColumn(name = "instructor_id"), 
        inverseJoinColumns = @JoinColumn(name = "student_id")
        )
  private List<Student> students = new ArrayList<Student>();

 public List<Student> getStudents() {
    return students;
 }

 public void setStudents(List<Student> students) {
    this.students = students;
 }  
}

```

ThesisFirstInstructor.java

```auto
@Entity
@Table(name = "thesisfirstinstructor")
@PersistenceContext(unitName = "processEntities")
public class ThesisFirstInstructor extends Instructor {}

```

Student.java

```auto
@Entity
@Table(name = "student")
@PersistenceContext(unitName = "processEntities")
public class Student extends Person {

  private static final long serialVersionUID = 1L;

 private String matrNo;

 public String getMatrNo() {
    return matrNo;
 }

 public void setMatrNo(String matrNo) {
    this.matrNo = matrNo;
 }

```

BusinessLogic.java (EJB)

```auto
{
...
Student currentStudent= studentDAO.findByThmUid(currentStudentThmUid);

ThesisFirstInstructor thesisFirstInstructor = new ThesisFirstInstructor();
thesisFirstInstructor.setFirstName(thesisFirstInstructorCamundaUser.getFirstName());
thesisFirstInstructor.setLastName(thesisFirstInstructorCamundaUser.getLastName());
thesisFirstInstructor.setThmUid(thesisFirstInstructorThmUid);

thesisFirstInstructor.getStudents().add(currentStudent);
        
thesisFirstInstructorDAO.persist(thesisFirstInstructor);

```

}

Unfortunately, the join table is empty![grafik|261x170]:

![grafik](https://canada1.discourse-cdn.com/flex035/uploads/hibernate/original/2X/c/c3bf71ea556972aacd78a36bfe4d1ed3f9da1e27.png)

Entity thesisFirstInstructor is persisted.  
Any ideas?

---

<div class="post-metadata">

**Author:** ![beikov](https://yyz1.discourse-cdn.com/flex035/user_avatar/discourse.hibernate.org/beikov/32/258_2.png) [@beikov](https://discourse.hibernate.org/u/beikov)\
**Post date:** [November 4, 2020, 7:14pm UTC](https://discourse.hibernate.org/t/many-to-many-unidirectional-join-table-empty-after-persist/4627/2 "2020-11-04T19:14:07Z")

</div>

Is the instructor properly persisted? I don’t know what your DAO is doing, but you might have to call `EntityManager.flush` after persisting it.
