休眠条件查询以获取所有孩子都符合条件的父母

时间:2019-07-07 23:10:56

标签: java hibernate-criteria

我的数据具有一对多的关系。我需要查询至少有一个孩子符合条件,所有孩子都符合要求且没有一个孩子符合条件的父母人数。

例如,我想要父母的数目,其中没有一个孩子的material_score等于零。我写了以下规范来获取父列表

return new Specification<Property>() {
        @Override
        public Predicate toPredicate(Root<Property> root, CriteriaQuery<?> query, CriteriaBuilder builder) {
            SetJoin<Property,SurveyItem> surveyItems = root.join(Property_.surveyItems, JoinType.INNER);
            return builder.equal(builder.count(builder.equal(surveyItems.get(SurveyItem_.materialScore), 0)), 0);
        }
    };

但是查询无效

  

antlr.MismatchedTokenException:期望关闭,发现“ =”标准查询错误

错误是因为不允许计数内的条件查询?

那么我如何获得没有调查项(子项)且物料计数等于零的属性?

0 个答案:

没有答案