Hibernate - найти сотрудников, которые не являются менеджерами - PullRequest
0 голосов
/ 27 мая 2019

У меня есть таблица employee с менеджером столбцов, которая ссылается на employee_id.Это отношение один к одному, поскольку у каждого сотрудника может быть один менеджер, а каждый менеджер может управлять одним сотрудником:

   public class Employee implements java.io.Serializable {
   @OneToOne
@JoinColumn(name="manager_id" ,referencedColumnName = "employee_id", nullable=true)
private Employee manager;

Я пытаюсь найти сотрудников, которые НЕ являются менеджерами.Мне нужно сделать это с помощью спящего режима.Я знаю, что «Не в» или «Не существует» также работает, но они очень медленные в моем случае, и поэтому я пытаюсь использовать левое соединение, которое намного быстрее.

Когда я пытаюсь использовать левое соединение, «предложение ON» неверно.Это то, что я получаю

 from
     employees employe0_ 
 left outer join
     employees employe1_ 
       on employe0_.manager_id=employe1_.employee_id

Однако я ожидаю

      on employe0_.employee_id=employe1_.manager_id
...