Criteria Builder 和 join 子句不适用于 Spec

问题描述

我有两个表 Table 和 Table1 具有 onetoMany 关系。 我有这个查询

select distinct a.* from Table a,Table1 b where 
b.fk_Table = a.sequ_id and
b.value > 0 and
b.value1 > 0 and b.value2 > 0 and value3 > 0;

我创建了这个方法

Join<Table,Table1> joinTable1 = root.join("fieldRelations");   //root is Root<Table>   
              Expression<BigDecimal> value = joinTable1.get("value");
              Expression<BigDecimal> value1 = joinTable1.get("value1");
              Expression<BigDecimal> value2 = joinTable1.get("value2");
              Expression<BigDecimal> value3 = joinTable1.get("value3");
              
            Predicate isNotZerovalue  = criteriaBuilder.greaterThan( value,new BigDecimal(0) );
            Predicate isNotZerovalue1 = criteriaBuilder.greaterThan( value1,new BigDecimal(0) );
            Predicate isNotZerovalue2 = criteriaBuilder.greaterThan( value2,new BigDecimal(0) );
            Predicate isNotZerovalue3 = criteriaBuilder.greaterThan( value3,new BigDecimal(0) );
            Predicate p = criteriaBuilder.and(isNotZerovalue,isNotZerovalue1,isNotZerovalue2,isNotZerovalue3);           
            predicates.add(p);

但不起作用。 感谢回复

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)