Java Spring JPA:PropertyReferenceException:未找到类型的属性findAll
我已经在这个问题上搜索了几个小时,但找不到一个完全符合我的情况并有解决方案的 我有一个现有的Cassandra数据库,但打算在不久的将来迁移到MongoDB。我正在用SpringDataJPA编写一个SpringRESTAPI来使用CassandraDB,但我想确保我可以轻松地切换到Mongo,而不会在将来遇到太多麻烦 @实体 @表TB 公共类网络设备{ @身份证 @PrimaryKeyColumnname=deviceid,type=PrimaryKeyType.PARTITIONED 私有字符串设备ID; //省略其余字段/getter/setter/etc 公共网络设备存储 公共接口网络设备存储{ 网络设备findByDeviceidString设备ID; } 卡桑德拉知识库 公共接口网络设备CassandRarespository扩展了网络设备pository,CassandRarespository{} Mongo存储库 公共接口NetworkDeviceMongoRepository扩展了NetworkDeviceRepository,MongoRepository{} 当项目开始时,我会出现以下错误Java Spring JPA:PropertyReferenceException:未找到类型的属性findAll,java,spring,mongodb,jpa,cassandra,Java,Spring,Mongodb,Jpa,Cassandra,我已经在这个问题上搜索了几个小时,但找不到一个完全符合我的情况并有解决方案的 我有一个现有的Cassandra数据库,但打算在不久的将来迁移到MongoDB。我正在用SpringDataJPA编写一个SpringRESTAPI来使用CassandraDB,但我想确保我可以轻松地切换到Mongo,而不会在将来遇到太多麻烦 @实体 @表TB 公共类网络设备{ @身份证 @PrimaryKeyColumnname=deviceid,type=PrimaryKeyType.PARTITIONED 私有字
Invocation of init method failed; nested exception is org.springframework.data.mapping.PropertyReferenceException: No property findAll found for type NetworkDevice!
Spring似乎开始感到困惑,在我的NetworkDevice对象上寻找crudepository方法名作为字段,但这对我来说毫无意义,我已经尝试了几个小时,但没有任何东西影响到这个问题
非常感谢您的帮助。我发现了这个问题。显然,Cassandra正在将NetworkDeviceMongorPository确定为潜在的Cassandra存储库,因为它与NetworkDeviceCassandrarPository位于同一个包中 将这两个存储库移动到不同的包中解决了这个问题 以前 之后
您是否在Repository中使用@Repository注释?我已经尝试使用该注释,但仍然出现错误。
> Repository Package
+ NetworkDeviceRepository.java
+ NetworkDeviceMongoRepository.java
+ NetworkDeviceCassandraRepository.java
> Repository Package
+ NetworkDeviceRepository.java
> Mongo Package
+ NetworkDeviceMongoRepository.java
> Cassandra Package
+ NetworkDeviceCassandraRepository.java