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%
我有 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%