Предположим, что мы имеем следующие Сущности:
@Entity
public class Department {
@OneToMany(mappedBy="department")
private List<Employee> employees;
}
@Entity
public class Employee {
@ManyToOne
private Department department
}
В обновлении понятно, что нам необходимо поддерживать обе стороны отношения следующим образом:
Employee emp = new Employee();
Department dep = new Department();
emp.setDepartment(dep);
dep.getEmployees().add(emp);
Все до сих пор. Вопрос в том, следует ли применять слияние с обеих сторон следующим образом, а я избегаю второго слияния с каскадом?
entityManager.merge(emp);
entityManager.merge(dep);
Или сливается с собственной стороной? Также должны ли эти слияния произойти внутри транзакции или EJB? Или сделать это по простому методу контроллера с отдельными объектами достаточно?