我有两个实体Project
和Employee
。他们在联名关系中具有多对多关系。给定一个雇员的唯一主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);
您需要的是
select p from Employee e join e.projects p where e.id = :id`
或者,没有任何查询
Set<Project> projects = em.find(Employee.class, id).getProjects();