2

OneToMany 関係に 2 つのエンティティがあります。

@Entity
public class Employee {

@Id @GeneratedValue
public long id;

public String name;

@OneToMany
public Collection<Address> addresses = new ArrayList<Address>();
...}

@Entity
public class Address {

@Id @GeneratedValue
public long id;

public String city;
...}

従業員フィールドにいくつかの簡単な基準を使用して従業員を取得したい (これは問題ありません)。都市フィールドに「ニューデリー」を含む住所のみを含める必要があります (これが問題です)。

JPA 2の以下に相当するもの

from Cat as cat
left join cat.kittens as kitten
    with kitten.bodyWeight > 10.0

この問題は、私の実際の問題の単純化されたバージョンです。

私の主な問題は、もっと複雑で、複数の子エンティティがあり、親エンティティのフィルタリングで sql 関数を使用する場合です。

上記の理由により、HQL またはネイティブ クエリを使用できません。

だから私は EntityManager 、 CtiteriaBuilder などを使用して「JPA 2のみ」で解決策を探しています。

4

1 に答える 1