2014-02-26 44 views
1

类似this post,我有这些(几乎相同)类:JPA查询与@ManyToMany关系,并没有导航

public class Project { 
    @ManyToMany 
    private Set<Person> resources; 
    // get and set of resources 
} 
public class Person { 
} 

不同的是,我的属性是私有的(用豆实体)。

问题是:我将如何创建一个查询来返回确定人员的所有项目(在JPQL和/或使用CriteriaQuery)?

我发现所有这些其他类似的问题,但没有帮助我,是因为它们都依赖于导航从ProjectPerson(其中不存在从Person查询):

我不喜欢插入'Person'中的一个属性只是为了能够进行查询,因为它在我的模型中没有意义。

谢谢!

回答

2
select project from Project project 
join project.resources person 
where person.id = :personId 

我会让如果你真的想你翻译这标准,但使用标准这样一个基本的静态查询提供任何利益,我不hink。

+0

它工作。谢谢! –