Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/346.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何模拟CriteriaQuery.where()后跟order by_Java_Jpa_Criteria_Predicate - Fatal编程技术网

Java 如何模拟CriteriaQuery.where()后跟order by

Java 如何模拟CriteriaQuery.where()后跟order by,java,jpa,criteria,predicate,Java,Jpa,Criteria,Predicate,我在哪里上课 CriteriaQuery<Entity> cq=criteriaQuery.root<Entity>(); ..... ..... cq.where(predictes.toArray(new Predicate[0])).orderBy(criteriaBuilder.asc(root.get(ENTITY.COLUMNNAME)) 这也无助于我实现我建议使用mock repository方法而不是CriteriaQuery构造,在您的mock类中使用

我在哪里上课

CriteriaQuery<Entity> cq=criteriaQuery.root<Entity>();
.....
.....
cq.where(predictes.toArray(new Predicate[0])).orderBy(criteriaBuilder.asc(root.get(ENTITY.COLUMNNAME))

这也无助于我实现

我建议使用mock repository方法而不是CriteriaQuery构造,在您的mock类中使用如下内容:

    @Mock
    CustomRepository customRepository;
    Mockito.when(customRepository.findEntity(Matchers.any()))
            .thenReturn(entity);

模拟
CriteriaQuery
构造细节的测试的价值让我无法信服。我认为您应该对CriteriaQuery的使用有一个更高的抽象,并模拟这个抽象。问题是说正在使用Spring(数据JPA)吗?不,问题不是说它使用Spring(数据JPA)。那么您为什么要回答Spring数据JPA JPA?在我的回答中,
CustomRepository
的定义与实现无关,即
findentity
方法可以使用Spring数据实现,也可以按要求使用标准实现。
    @Mock
    CustomRepository customRepository;
    Mockito.when(customRepository.findEntity(Matchers.any()))
            .thenReturn(entity);