Criteria API join子句with和operator

时间:2017-02-21 00:00:28

标签: java sql hibernate jpa criteria

我正在尝试使用join子句编写涉及and运算符的查询,如下所示:

 Select distinct
product.id_product, 
Brand.value as 'brand',
FROM product
INNER JOIN [product_attribut] as BRAND on BRAND.id_product= product.id_product and BRAND.id_attribut = '1'

我不知道如何使用条件API实现它:

final CriteriaBuilder productCriteriaBuilder = this.entityManager.getCriteriaBuilder();
final CriteriaQuery<Object> criteriaQuery = productCriteriaBuilder.createQuery(Object.class);
final Root<Product> root = criteriaQuery.from(Product.class);
final Join<Product, ProductAttribut> productBrand= root.join("productAttributs");
    Predicate brandPredicate = productCriteriaBuilder.and(productBrand, productCriteriaBuilder.equal(productBrand.get("id_attribut"), "1"));

但是and()方法应该使用Expression类型的对象。 这有什么解决方法吗? 谢谢你的帮助。

0 个答案:

没有答案