JPQL,获取通过主键在JoinTable中定义的所有ManyToMany关系

问题描述 投票:1回答:1

我有两个实体ProjectEmployee。他们在联名关系中具有多对多关系。给定一个雇员的唯一主ID,我如何找到其所有相关项目?

我尝试过类似的操作,但是给了我一个RunTimeException,它指出它无法提取ResultSet

  @Query("SELECT new packagename.Project(project.id, moreFields..." +
          "FROM Project project, Employee employee" +
          "WHERE employee.id = :id AND project IN (employee.projects))
  List<Project> findByEmployeesEmailInOneRequest(@Param("id") long id);
sql jpql
1个回答
0
投票

您需要的是

select p from Employee e join e.projects p where e.id = :id`

或者,没有任何查询

Set<Project> projects = em.find(Employee.class, id).getProjects();
© www.soinside.com 2019 - 2024. All rights reserved.