Hibernate @ManyToMany 级联子查询

query.setPredicate(((root, criteriaQuery, criteriaBuilder, list, list1) -> {

    //根据分类id查询中间表 过滤商品分类
    Object categoryId = query.getParams().get("categories.id");
    if (categoryId != null) {
        SetJoin<Commodity, Category> orgHospReportJoin = root.join(root.getModel().getDeclaredSet("categories", Category.class), JoinType.LEFT);
        Predicate predicate = criteriaBuilder.equal(orgHospReportJoin.get("id").as(Integer.class), categoryId);
        list.add(predicate);
    }

    list.add(criteriaBuilder.and(criteriaBuilder.equal(root.get(Commodity_.deleted), Deleted.DEL_FALSE)));
}));

猜你喜欢

转载自blog.csdn.net/lemosen_025/article/details/82185447
今日推荐