我有这些课程
class Project {
@ManyToOne Company owner;
@ManyToMany Set<Person> resources;
}
class Company {
@ManyToOne Country country;
}
class Person {
}
如何编写JPQL以获取特定国家/地区公司的所有项目资源?
下面的一个似乎不起作用(使用DataNucleus)
SELECT r FROM Project p JOIN p.resources r JOIN p.owner c WHERE c.country = :country
它尝试使用c连接r,当然没有owner属性,并且在DataNucleus中引发了NullPointerException.
最佳答案 这应该做你期望的:
SELECT resource FROM Project p INNER JOIN p.resources as resource
编辑:
我忘记了最初问题的一部分:
SELECT resource FROM Project p INNER JOIN p.resources as resource where p.owner.country = :country