iam able to create, read and delete self reference entities, but update is not working.
when i update i dont see new values, old values are present
@Entity
@Table(name="EMPLOYEE")
public class Employee {
@ManyToOne(cascade={CascadeType.ALL})
@JoinColumn(name="manager_id")
private Employee manager;
@OneToMany(mappedBy="manager", orphanRemoval=true)
private Set<Employee> subordinates = new HashSet<Employee>();
....getters and setters..........
}
UPDATE:
public void updateEmployee(EmployeeDTO employeeDTO ) {
Employee emp= findById(employeeDTO.getId());
if(!emp.getSubordinates().isEmpty()) {
Set<Employee> emps=emp.getSubordinates();
emps.clear();
employeeDTO.getSubordinates().stream()
.map(employeeRepository::findOneById)
.forEach(emps::add);
}
}