No primary or single unique constructor found for interface org.springframework.data.domain.Pageable
时间: 2023-11-25 09:50:22 浏览: 282
根据引用的错误信息,我们可以得知在使用Spring Data JPA时,当我们在Repository中定义了一个返回Pageable类型的方法时,会出现"No primary or single unique constructor found for interface org.springframework.data.domain.Pageable"的错误。这是因为Pageable是一个接口,Spring Data JPA无法确定如何实例化它。
解决这个问题的方法是在调用Repository方法时,手动创建一个Pageable对象并传递给方法。例如:
```java
Pageable pageable = PageRequest.of(pageNumber, pageSize);
Page<User> users = userRepository.findAll(pageable);
```
其中,PageRequest是Pageable的一个实现类,通过of方法可以创建一个Pageable对象。
另外,根据引用的例子,如果我们在Controller层的方法中需要获取URL路径中的参数,可以使用@PathVariable注解。例如:
```java
@GetMapping("/delete/{ids}")
public void delete(@PathVariable List<Long> ids) {
// 根据ids删除数据
}
```
其中,@PathVariable注解可以将URL路径中的参数ids自动绑定到List<Long>类型的ids参数上。
阅读全文