Ger*_*oza 10 spring spring-data-jpa spring-boot
我有以下 Spring Data JPA 存储库:
public interface FooRepository extends PagingAndSortingRepository<Foo, Long> {}
Run Code Online (Sandbox Code Playgroud)
迁移到 Spring Boot 3 后,我开始收到大多数标准存储库方法的错误消息(例如fooRepository.findById(id)
,,,)fooRepository.save(foo)
fooRepository.findAll()
我在Spring Boot 3.0迁移指南中找不到与此相关的任何内容
Ger*_*oza 12
看来Spring Data 3.0现在已经将“排序”存储库与基础存储库分开了(即PagingAndSortingRepository
其他接口不再扩展CrudRepository
),因此,我们必须使我们的存储库扩展多个框架存储库接口,将它们组合为我们想。
ListCrudRepository
造成这种情况的一个原因是 Spring Data JPA现在引入了一个接口来检索List
结果,而不是像以前Iterable
那样CrudRepository
(在许多情况下处理起来很痛苦)。
因此,通过这种解除绑定,我们现在可以选择PagingAndSortingRepository
与CrudRepository
之前的行为结合使用,或者将其与 一起使用ListCrudRepository
:
public interface FooRepository extends
PagingAndSortingRepository<Foo, Long>,
CrudRepository<Foo, Long> {}
Run Code Online (Sandbox Code Playgroud)
所有这些都在Spring Data 公告帖子以及Spring Data 3.0 文档中进行了解释:
请注意,各种排序存储库不再像 Spring Data 3.0 之前的版本中那样扩展各自的 CRUD 存储库。因此,如果您想要同时使用这两个接口的功能,则需要扩展这两个接口。
归档时间: |
|
查看次数: |
3015 次 |
最近记录: |