Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/12.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
不是Spring数据Mongodb的托管类型_Spring_Exception_Spring Data_Spring Data Mongodb - Fatal编程技术网

不是Spring数据Mongodb的托管类型

不是Spring数据Mongodb的托管类型,spring,exception,spring-data,spring-data-mongodb,Spring,Exception,Spring Data,Spring Data Mongodb,我有以下mongo配置: <context:component-scan base-package="com.example" /> <mongo:repositories base-package="com.example.repositories.mongodb" /> 不幸的是,当我启动应用程序时,出现以下异常: 原因:org.springframework.beans.factory.BeanCreationException: 无法自动关联字段:private

我有以下mongo配置:

<context:component-scan base-package="com.example" />
<mongo:repositories base-package="com.example.repositories.mongodb" />
不幸的是,当我启动应用程序时,出现以下异常:

原因:org.springframework.beans.factory.BeanCreationException: 无法自动关联字段:private com.example.repositories.mongodb.ReviewRepository com.example.Controller.reviewRepository;嵌套异常是 org.springframework.beans.factory.BeanCreationException:错误 创建名为“reviewRepository”的bean:FactoryBean抛出 对象创建异常;嵌套异常是 java.lang.IllegalArgumentException:不是托管类型:类 com.example.domain.Review

原因:java.lang.IllegalArgumentException:不是托管类型: 类com.example.domain.Review


我认为这可能是因为存储库和它管理的bean不在同一个包中。但当我把它们放在同一个包中时,我也会遇到同样的问题。有什么想法吗?

在同一个项目中,我们也在使用mysql,它正在扫描包:com.example.repositories。这导致了问题,一旦我们将其更改为com.example.repositories.mysql,问题就解决了。

这通常意味着持久性层不知道本例中的某个类-查看。是否在同一上下文中设置了mongo:repositories和context:component扫描?是。我在相同的上下文中进行了组件扫描。还有其他想法吗?谢谢。不幸的是,没有。。。除了不在同一个上下文中之外,我想到的另一件事是@Document注释不是正确的,尽管不太可能发生。我需要看更多的代码
package com.example.repositories.mongodb;
public interface ReviewRepository extends CrudRepository<Review, String> {...}
package com.example.domain;
@Document(collection="Review")
public class Review implements Serializable { ... }