Hello stack overflow
我正在使用spring-data-jpa和spring-data-rest为自己创建一个演示应用程序。我有两个存储库接口:
interface PersonRepository : PagingAndSortingRepository<Person, Long>
@RepositoryRestResource(path = "people", collectionResourceRel = "people", exported = true)
interface PeopleRepository : PagingAndSortingRepository<Person, Long>
我将 repositoryDetectionStrategy 更改为 RepositoryDetectionStrategies.ANNOTATED。
我为 personRepository 创建了一个自制的 RestController for the peopleRepository 我希望它由 spring 创建并公开在本地主机:8080/by hateos
问题
- 只是随机地暴露了 peopleRepository(根本不工作(。
调试后,我可以肯定地说RepositoryRestMvcConfiguration的Bean Repository是问题的原因。
org.springframework.data.repository.support.Repositories的方法填充RepositoryFactoryInformation会覆盖所有存储库,因为我有两个用于同一类的内部map.put会覆盖我想要的行为,具体取决于哪个bean先出现。
那么这是一个错误还是 spring 不支持几个带有 spring-data-rest 的存储库接口,或者我配置了错误的设置?
可悲的是,SpringData
似乎不能很好地处理这种情况(我正在使用spring-boot 1.5.8,当时我发现了与您相同的问题......我试图升级我的 spring 版本以查看此问题是否已修复,但我开始遇到其他编译/部署问题。所以我放弃了这个想法...
您可以在以下链接中获取更多信息:
- 一个实体 两个存储库
- 数据休息问题/改进票证