【发布时间】:2012-11-24 07:59:57
【问题描述】:
我有这些课程
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
它尝试将r 与c 连接起来,当然没有owner 属性,并且在DataNucleus 中引发了NullPointerException。
【问题讨论】:
-
我也试过 SELECT r FROM Project p INNER JOIN p.resources r WHERE EXISTS (SELECT c FROM Company c WHERE c.country = :country AND p.owner = c) 但它抱怨说 'owner ' 不是 Person 中的属性。