I'd like to achieve the query below using criteria typed query:
SELECT
a.*
FROM
table_a a
INNER JOIN table_b b ON a.id= b.id
WHERE
b.url = 'value.org';
Criteria query:
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);
Entity A:
@OneToMany
List<B> domains;
Entity B:
@Column(name="URL")
String url;
My issue is how to reproduce where, I've tried something like:
.where(criteriaBuilder.equal(root.get(A.domains).. ??))
but I don't know how to continue, because proposal clause are as(), in(..), etc..
Any hints?