当前位置: 首页 > 知识库问答 >
问题:

将Spring-Data用于MongoDB和ElasticSearch

欧阳博超
2023-03-14
@org.springframework.data.mongodb.core.mapping.Document(collection = "goal")
@org.springframework.data.elasticsearch.annotations.Document(indexName = "goal")
public class Goal implements Serializable {
 ....}
 Error creating bean with name 'goalRepository':
 Invocation of init method failed; nested exception is
 org.springframework.data.mapping.PropertyReferenceException:
 No property insert found for type Goal! ->

顺便说一句:当我将名为“insert”的属性添加到Goal或从Goal中删除elasticsearch注释时,该错误就会消失。

GoalRepository是:

package org.jhipster.mongo.repository;
import org.jhipster.mongo.domain.Goal;
import org.springframework.data.mongodb.repository.MongoRepository;

 public interface GoalRepository extends MongoRepository<Goal,String> {    
 }

共有1个答案

充鑫鹏
2023-03-14

在一个项目中使用多个Spring数据模块是可能的,但需要注意设置。

在类路径上有多个Spring数据模块可以进行严格的配置,这是Spring数据区分存储库职责所必需的。这主要是通过注释和特定存储库是否适合类型层次结构来完成的。在您的示例中,goal是用MongoDB和Elasticsearch注释注释的,因此这两个模块都有实现存储库的冲动。

到目前为止,唯一的方法是将存储库保存在不同的包中,并将这些包用作@enable…repositories中的基包。假设您的Elasticsearch Repo位于org.jhipster.Elasticsearch.repository中,您的应用程序配置可能如下所示:

@EnableMongoRepositories("org.jhipster.mongo.repository")
@EnableElasticsearchRepositories("org.jhipster.elasticsearch.repository")
@SpringBootApplication
public class SpringBootApplication { … }
 类似资料:
  • 我知道有一个jackson kotlin模块,它包含在我的maven文件中。它用于反序列化我通过http获得的对象,所以我知道spring会接收它。然而,spring data mongodb似乎不使用jackson ObjectMapper? 有没有一种方法可以在spring data mongodb中使用jackson objectmapper,或者修复没有非args构造函数的问题?

  • Spring Data MongoDB 可以提供 Java 开发人员在使用 MongoDB 时的效率。它使用了熟悉的 Spring 概念,例如用于核心 API 的模块类,轻量级仓库风格的数据访问。 Spring Data MongoDB 项目提供了集成 MongoDB 文档数据库。Spring Data MongoDB 的核心功能区是一个 POJO 中心模型,用于与 MongoDB DBColle

  • 我正在尝试spring-data-r2dbc。我正在Postgresql上尝试这个。我以前尝试过spring data mongodb Responsive。我忍不住把两者都比较了一下。 我看到还不支持查询派生。但我想知道是否有的等价物。这样我就会实时收到数据库更改的通知。Ca任何人都可以共享与此相关的任何代码示例。 我理解底层数据库应该支持这一点。我相信Postgresql确实支持这种使用逻辑解

  • 第二个问题:当elastic和mongo都有@Documnet注释时,如何注释模型类?现在我得到一个错误,认为它与这个问题有关:“找不到类的id属性” 最后,我将感谢任何关于最佳实践和更干净的编码的指导。 Spring Boot应用程序: Kafka消费者服务: 弹性配置: Kafka 配置:

  • 我正在用spring boot编写代码,它将csv作为输入,创建mongodb集合并将其插入mongodb。 目前,我坚持在基于spring boot的代码中使用mongodb。在MongoRepository接口上使用save方法时,我收到NullPointerException。 可能这个问题是由于不正确的配置在application.yml文件下面是mongodb特定的变化在applicat