2017-09-27 10 views
0

間でクエリを作成:私は何をしようとしているは休止状態 - 私は2クラス持っ@OneToMany

@Entity 
public class Basic { 
    private String a; 
    @OneToMany 
    private List<Element> elements; 
} 

@Entity 
public class Element { 
    private String b; 
} 

ことBasicbは、いくつかの値であるElementを持っている場合をテストPredicateを作成することです(例えば、b.equals("hello world"))。 私は、このメソッドを実装するように制約だ:

public Predicate testBasic(String elementValue, Root<Basic> root, CriteriaQuery<?> query, CriteriaBuilder cb); 

はどうもありがとうございました!

答えて

0

私は、HQLは通常、ドット演算子のトーグルにアクセスできることを知っています。

は、あなたがしようとしたがいる:

は他
where basics.elements.b LIKE %xxx% 

ソリューションを使用すると、メソッドのコード例を書くことができます

from basics b right join elements e on e.fk_b = b.id where e.b like %str% 
+0

JOINを使用するのですか?また、基準を満たすことが可能な方が好きです - 方法はありますか? – orirab

+0

とにかく、参加しました... – orirab