Spring中的JPA Critera查询

Spring中的JPA Critera查询,jpa,Jpa,在这个方法中,传递两个参数。如何检索记录表单产品表id和子类别id 实际上,我是基于Id检索记录的,但应用子类别Id(带有和条件)时出错occour 请发送链接并解释其工作原理?谢谢。公共列表findProductIdSubCategoryIdCategoryId(字符串categoryId、字符串子类别id、字符串id) { CriteriaBuilder cb=em.getCriteriaBuilder(); CriteriaQuery-criteria=cb.createQuery(Pro

在这个方法中,传递两个参数。如何检索记录表单产品表id和子类别id

实际上,我是基于Id检索记录的,但应用子类别Id(带有和条件)时出错occour


请发送链接并解释其工作原理?谢谢。

公共列表findProductIdSubCategoryIdCategoryId(字符串categoryId、字符串子类别id、字符串id) { CriteriaBuilder cb=em.getCriteriaBuilder(); CriteriaQuery-criteria=cb.createQuery(Product.class); 根产品=标准.from(产品.class); cb.equal(product.get(“子类别ID”)、子类别ID)

它的工作良好,并附加链接

public Product findProductById(String id , String subCategoryId)
{   
     return em.find(Product.class, id);      
}
    Predicate csi =  cb.and(cb.equal(product.get("categoryId"), categoryId), cb.equal(product.get("subCategoryId"), subCategoryId),
            cb.equal(product.get("id"), id));

     criteria.select(product).where(csi);
     return em.createQuery(criteria).getResultList();


}