Как написать этот запрос с помощью CriteriaBuilder?
SELECT a FROM Article a JOIN a.categories c WHERE c.id = :idCategory
idCategory - это параметр.
Это то, что я пытался сделать до сих пор, но он возвращает ноль.
CriteriaBuilder builder = session.getCriteriaBuilder();
CriteriaQuery<Article> crit = builder.createQuery(Article.class);
Root<Article> root = crit.from(Article.class);
Join<Category, Article> join = root.join("categories");
CriteriaQuery<Category> crit2 = builder.createQuery(Category.class);
Root<Category> root2 = crit2.from(Category.class);
crit.select(join).where(builder.equal(root2.get("id"), category.getId())).distinct(true);
Query<Article> q = session.createQuery(crit);