HQL语言如何在代码中加入查询两个表

HQL language how to join query two tables like in code

我有三个表:
经理
公司经理
公司
一对多

我需要找没有公司的经理,在java我可以解释的代码中:

List<Long> managersWithCompany = (List<Long>) session.createQuery("Select distinct mc.idManager from ManagersCompany mc").list();
List<Long> allManagers = (List<Long>) session.createQuery("select m.id from Manager m").

//例如在 managersWithCompany 中我们有 ids: 2 3 4
//例如在allManagers中我们有ids: 1 2 3 4 5
那么,如何创建查询,给我 1 5?
再次,我需要没有公司的经理
它的代码在 java 上,我只需要查询没有代码,有人知道吗?

        ArrayList<Long> answer = new ArrayList<>();
        allManagers.forEach(actMan -> {
        boolean add = true;
        for (Long allManager : managersWithCompany ) {
              if (actMan.equals(allManager)) {
                  add = false;
                 break;
             }
           }
           if (add) answer.add(actMan);
        });

使用SQL:

select m.id
from Manager m
where not exists (SELECT * FROM ManagersCompany mc
                  WHERE m.id = mc.idManager)