JPA - обновление @OneToMany

Предположим, что есть две сущности, Отдел и Сотрудник, где в одном отделе есть N сотрудников.

В отделе:

@OneToMany(mappedBy = "department", fetch = FetchType.EAGER)
private Collection<Employee> employees = new ArrayList<Employee>();

В сотруднике:

@ManyToOne(fetch = FetchType.EAGER)
private Department department;

Все работает, но я хотел бы добавить сотрудников в отдел, не устанавливая обратную зависимость. Например:

// I will add two employees to a department
department.getEmployees().add(employee1);
department.getEmployees().add(employee2);

// In fact, it is necessary to set the opposite side of the relationship
employee1.setDepartment(department);
employee2.setDepartment(department);

entityManager.merge(department);      
//...

Итак, мой вопрос: есть ли способ (например, с помощью какой-либо аннотации), чтобы JPA понимал, что он должен распространять изменения на другую сторону отношения без явного указания этого? Другими словами, я хотел бы сделать только это:

department.getEmployees().add(employee1);
department.getEmployees().add(employee2);
entityManager.merge(department);

Большое спасибо!

6
задан joaosavio 8 December 2011 в 17:13
поделиться