有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java HQL语言如何在代码中连接查询两个表

我有三张桌子:
经理
公司经理
公司
一对多

我需要找没有公司的经理,我可以用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").

//例如,在ManagerWithCompany中,我们有ID:2 3 4
//例如,在所有管理器中,我们都有ID:1 2 3 4 5
那么,如何创建查询,这将给我15分?
再说一次,我需要没有公司背景的经理
它的代码是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);
        });

共 (1) 个答案

  1. # 1 楼答案

    使用SQL:

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