当前位置: 首页 > 知识库问答 >
问题:

如何选择列表中有其他元素的所有元素

张茂勋
2023-03-14

我是冬眠新手,不会RTFM,所以我希望有人能帮我节省很多时间。

我的数据库中的对象之间有多对多的关系。假设员工和工作。

我想选择分配给给定员工的所有作业。我的对象乔布斯有一个正在处理它的所有员工的列表。所以,在java中,它应该是:作业job.employees.contains(员工)。除了我需要把它变成一个Hibernate查询什么的。

现在,我在选择所有东西后,正在Java中使用蛮力。

  getJobsByEmployee(Employee selectedEmployee) {
    Query query = session.createQuery("from Job");
    List<Job> allJobs = query.getResultList();

    List<Job> emplJobs = new ArrayList<>();
    for (Job job : allJobs) {
      for (Employee empl : job.getEmployees()) {
        if (empl.getId() == selectedEmployee.getId()) {
          emplJObs.add(job);
          break;
        }
      }
    }
    return emplJobs;
  }

如何编写查询或HQL或以其他方式从我的数据库中获取数据?迄今为止,我只编写了最基本的查询,并且被Hibernate中所有不同的语法选项淹没了。

PS我使用的是Spring ORM,因此由于事务性等原因,可能缺少一些正常的hibernate语法。

请不要问我为什么要这样做。我必须这么做。

共有1个答案

单于阳
2023-03-14

没关系,答案太明显了,我看不见。

只需返回已在employee对象上的作业。因为它是多对多的,所以它也有一个工作列表。

  return selectedEmployee.getJobs();

嗯。必须首先调用size(),因为employee上的jobs属性没有被立即加载。。。

 类似资料:
  • 如何选择js中元素的所有li子元素 我想选择这个项目的所有li元素(直接子元素,盛大子元素)

  • 但是querySelectorAll(“:not([foo])”)仍然会返回未选定元素的子元素。

  • 问题内容: 下面的查询表达式: 返回所有记录的 第一个* 关注 元素的 ID 的列表。 *__ 但是一个xml可能包含 多个 兴趣 元素。 那么,如何在sql xquery中获取所有记录的所有 兴趣 元素的唯一列表? 问题答案:

  • 问题内容: 我有以下HTML结构: 我只想选择之前的内容。我怎样才能做到这一点?在我的内容中,越来越多的东西,因此解决方案应该是通用的。 问题答案: 据我所知,CSS没有提供将 在* 选择器 之前定位的任何选择器。您能否将其选择为()之后的? * 如您所见,这可能是您依赖CSS时可以使用的最佳选择器,尽管您可以轻松地向之前的每个类添加一个类。这样可以避免您在另一个段落和段落节之前有一个段落节的情况

  • 问题内容: 我觉得我花了很多时间用Python编写代码,但没有足够的时间来创建Pythonic代码。最近,我遇到了一个有趣的小问题,我认为这可能是一个简单而惯用的解决方案。简而言之,我需要收集列表中的每个顺序对。例如,给定列表,我想计算。 当时我想出了一个快速的解决方案,看起来像翻译过的Java。再问这个问题,我能做的最好的就是 在长度不均的情况下,这会产生丢掉最后一个数字的副作用。 我是否缺少一

  • 问题内容: 有人告诉我 编写一个函数square(a),该函数接受一个数字数组a并返回一个包含每个平方值的数组。 起初,我有 但是,由于我正在打印,而且没有像被问到的那样返回,因此这不起作用。所以我尝试了 但这仅平方我数组的最后一个数字。我如何才能使整个列表平方? 问题答案: 您可以使用列表理解: 或者您可以: 或者,您可以使用发电机。它不会返回列表,但是您仍然可以迭代它,并且由于不必分配整个新列