Предположим, есть два класса, менеджер и инженер. Концептуально инженер может принадлежать только одному менеджеру, а менеджер может иметь несколько инженеров, но схематически они могут быть связаны идентификатором отдела. Однако между классами нет связи между внешними ключами.
public class Manager {
.....
private Long deptId;
}
public class Engineer {
.....
private Long deptId;
}
Следующий запрос работает в mySQL:
select * from manager m left join engineer e on m.dept_id = e.dept_id.
Возвращает несколько строк, соответствующих для разных сотрудников, имеющих тот же отдел, что и менеджер. Я не могу отобразить результат этого запроса на объекты. Я хотел бы сделать что-то вроде следующего: аннотации
public class Manager {
.....
private Long deptId;
@OnetoMany
private List<Engineer> engineers;
}
@ManytoOne
и @OnetoMany
ожидают использования внешнего ключа для отображения, поэтому вышеприведенное не работает. Есть ли другие способы добиться этого?