代码之家  ›  专栏  ›  技术社区  ›  devMan

Spring Data JPA-“未找到类型“Auteur”的属性“findAll”异常

  •  0
  • devMan  · 技术社区  · 3 年前

    这是AuteurRepository界面 **

    package com.example.api.repository;
    
    import java.awt.print.Pageable;
    import org.springframework.data.repository.CrudRepository;
    import org.springframework.stereotype.Repository;
    
    import com.example.api.model.Auteur;
    
    @Repository
    public interface AuteurRepository extends CrudRepository<Auteur, Long>{
    
        public Iterable<Auteur> findByNomContaining(String name, Pageable pageable);
    
        public Iterable<Auteur> findAll(Pageable pageable);
        
    
    
    }
    

    这是AuteurService中的方法,我在其中使用了2个存储库方法

    public Iterable<Auteur> getAuteurs(int pageNumber, int pageSize,String name) {
            Pageable pageable = (Pageable) PageRequest.of(pageNumber, pageSize);
            if (name == "") {
                return auteurRepository.findAll(pageable);
            }
            return auteurRepository.findByNomContaining(name, pageable);    
        }
    

    **这是我的AuteurController**

    @GetMapping("/listPagination")
        public Iterable<Auteur> getAuteurs(
                @RequestParam int pageNumber, 
                @RequestParam int pageSize,
                @RequestParam(defaultValue = "") String name){
            return auteurService.getAuteurs(pageNumber,pageSize,name);
            
        }
    

    这是我得到的错误:

    未能为方法公共抽象java.util.List com.example.api.repository.AutorRepository.findAll(java.awt.print.Pageable)创建查询;未找到类型“Auteur”的属性“findAll”

    请有人告诉我我做错了什么?

    1 回复  |  直到 3 年前
        1
  •  1
  •   M. Justin Marwan Alsabbagh    3 年前

    问题似乎是代码正在使用 java.awt.print.Pageable 不 org.springframework.data.domain.Pageable 。这些类完全无关:前者是AWT类,处理 printers ,后者是一个处理数据分页的Spring Data类。

    将导入语句更改为 org.springframework.data.domain.Pageable 而不是 java.awt.print.Pageable 应该解决这个问题。

    import org.springframework.data.domain.Pageable;