Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/silverlight/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Spring JPA:PropertyReferenceException:未找到类型的属性findAll_Java_Spring_Mongodb_Jpa_Cassandra - Fatal编程技术网

Java Spring JPA:PropertyReferenceException:未找到类型的属性findAll

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 私有字

我已经在这个问题上搜索了几个小时,但找不到一个完全符合我的情况并有解决方案的

我有一个现有的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{} 当项目开始时,我会出现以下错误

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