我正在尝试使用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类型的对象。 这有什么解决方法吗? 谢谢你的帮助。