4

私はこれらのクラスを持っています

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 が発生します。

4

1 に答える 1

2

これはあなたが期待することをするはずです:

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
于 2012-12-06T10:41:07.380 に答える