【发布时间】:2020-02-12 14:51:22
【问题描述】:
我想使用标准类型的查询来实现下面的查询:
SELECT
a.*
FROM
table_a a
INNER JOIN table_b b ON a.id= b.id
WHERE
b.url = 'value.org';
条件查询:
final CriteriaBuilder criteriaBuilder = entityManager.getCriteriaBuilder();
final CriteriaQuery<A> criteriaQuery = criteriaBuilder.createQuery(A.class);
final Root<A> root = criteriaQuery.from(A.class);
root.fetch(A.domains); // domains is a List<B>
criteriaQuery
.select(root);
实体 A:
@OneToMany
List<B> domains;
实体 B:
@Column(name="URL")
String url;
我的问题是如何在哪里重现,我尝试过类似的方法:
.where(criteriaBuilder.equal(root.get(A.domains).. ??))
但是我不知道怎么继续,因为proposal 子句是as(), in(..) 等等。
有什么提示吗?
【问题讨论】:
标签: hibernate jpa-2.0 criteria-api