hibernate - 跨@OneToMany 构建查询

hibernate - building a query across @OneToMany

我有 2 个 类:

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

@Entity
public class Element {
    private String b;
}

我想做的是创建一个 Predicate 来测试 Basic 是否有 Element 其中 b 是某个值(比如 b.equals("hello world")). 我不得不实施这个方法:

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

非常感谢!

我知道 HQL 通常可以通过点运算符访问子成员。

你试过了吗:

where basics.elements.b LIKE %xxx%

否则解决方案是使用 JOIN

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