Java 无法在spring数据jpa中的findAll方法中使用规范

Java 无法在spring数据jpa中的findAll方法中使用规范,java,spring,jpa,Java,Spring,Jpa,我试图在我的存储库findAll方法中使用规范,但我收到以下消息: Cannot resolve method 'findAll(org.springframework.data.jpa.domain.Specification<com.package.business.Eleve>)' 无法解析方法'findAll(org.springframework.data.jpa.domain.Specification)' 这是我的规范类: public class EleveSpe

我试图在我的存储库findAll方法中使用规范,但我收到以下消息:

Cannot resolve method 'findAll(org.springframework.data.jpa.domain.Specification<com.package.business.Eleve>)'
无法解析方法'findAll(org.springframework.data.jpa.domain.Specification)'
这是我的规范类:

public class EleveSpecification {

    public static Specification<Eleve> nomIsLike(final String nom) {

        return new Specification<Eleve>() {
            @Override
            public Predicate toPredicate(Root<Eleve> personRoot, CriteriaQuery<?> query, CriteriaBuilder cb) {
                String likePattern = getLikePattern(nom);
                return cb.like(cb.lower(personRoot.<String>get(Eleve_.nom)), likePattern);
            }

            private String getLikePattern(final String nom) {
                StringBuilder pattern = new StringBuilder();
                pattern.append(nom.toLowerCase());
                pattern.append("%");
                return pattern.toString();
            }
        };
    }
}
公共类元素规范{
公共静态规范名称(最终字符串名称){
返回新规范(){
@凌驾
公共谓词toPredicate(Root personRoot、CriteriaQuery查询、CriteriaBuilder cb){
字符串likePattern=getLikePattern(nom);
返回cb.like(cb.lower(personRoot.get(Eleve_.nom)),likePattern);
}
私有字符串getLikePattern(最终字符串名称){
StringBuilder模式=新建StringBuilder();
attern.append(nom.toLowerCase());
模式。追加(“%”);
返回模式.toString();
}
};
}
}
我使用JUnit测试我的规范:

@org.junit.Test
    public void findByNom() {
        List<Eleve> eleves = eleveRepository.findAll(EleveSpecification.nomIsLike("yassine"));

        //System.out.print(eleve.getNom());
        for (Eleve eleve : eleves) {
            System.out.print("" + eleve.getNom() + "  " + eleve.getPrenom());
        }

    }
@org.junit.Test
public void findByNom(){
List eleves=eleveRepository.findAll(EleveSpecification.nomIsLike(“yassine”);
//System.out.print(eleve.getNom());
for(Eleve-Eleve:eleves){
System.out.print(“+eleve.getNom()+”+eleve.getPrenom());
}
}
这是我的存储库界面:

public interface EleveRepository extends JpaRepository<Eleve, Integer> {

}
public interface EleveRepository扩展了JpaRepository{
}

您的存储库需要:

public interface EleveRepository extends JpaRepository<Eleve, Integer>, JpaSpecificationExecutor<Eleve> {

}
public interface EleveRepository扩展了JpaRepository,JpaSpecificationExecutor{
}

请发布您的存储库界面(包括extends paremter)我添加了我的回购界面,但我不认为问题来自于此