spring-boot - 将 Querydsl 与 spring boot 和 elasticsearch 结合使用时出现问题

标签 spring-boot querydsl spring-data-elasticsearch

我正在尝试使用Querydsl与我的 spring boot starter elasticsearch 项目。我在我的 pom.xml 中添加了以下依赖项

<dependency> 
        <groupId>com.querydsl</groupId> 
        <artifactId>querydsl-core</artifactId> 
        <version>${querydsl.version}</version><!--$NO-MVN-MAN-VER$-->
    </dependency> 
    <dependency> 
        <groupId>com.querydsl</groupId> 
        <artifactId>querydsl-apt</artifactId>
        <version>${querydsl.version}</version>
    </dependency>

我还添加了插件 -

<plugin>
            <groupId>com.mysema.maven</groupId>
            <artifactId>apt-maven-plugin</artifactId>
            <version>1.1.3</version>
            <executions>
                <execution>
                    <goals>
                        <goal>process</goal>
                    </goals>
                    <configuration>
                        <outputDirectory>target/generated-sources/java</outputDirectory>
                        <processor>com.querydsl.apt.QuerydslAnnotationProcessor</processor>
                    </configuration>
                </execution>
            </executions>
        </plugin>

我可以看到生成的类,但在 mvn 打包期间,我可以看到以下错误

Caused by: java.lang.IllegalArgumentException: QueryDsl Support has not been implemented yet.
    at org.springframework.data.elasticsearch.repository.support.ElasticsearchRepositoryFactory.getRepositoryBaseClass(ElasticsearchRepositoryFactory.java:73)
    at org.springframework.data.repository.core.support.RepositoryFactorySupport.getRepositoryInformation(RepositoryFactorySupport.java:252)
    at org.springframework.data.repository.core.support.RepositoryFactorySupport.getRepository(RepositoryFactorySupport.java:195)
    at org.springframework.data.repository.core.support.RepositoryFactoryBeanSupport.initAndReturn(RepositoryFactoryBeanSupport.java:282)
    at org.springframework.data.repository.core.support.RepositoryFactoryBeanSupport.afterPropertiesSet(RepositoryFactoryBeanSupport.java:268)
    at org.springframework.data.elasticsearch.repository.support.ElasticsearchRepositoryFactoryBean.afterPropertiesSet(ElasticsearchRepositoryFactoryBean.java:55)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1654)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1591)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:566)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:482)
    at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:302)
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230)
    at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:298)
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:198)
    at org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:1087)
    at org.springframework.data.repository.support.Repositories.cacheRepositoryFactory(Repositories.java:95)
    at org.springframework.data.repository.support.Repositories.populateRepositoryFactoryInformation(Repositories.java:88)

我找不到此组合的任何示例。有人能帮我吗? 提前致谢

最佳答案

我也一直在寻找这种组合的一些例子,但找不到。

显然,到目前为止,Spring Data Elasticsearch(版本 3.0.0)的QueryDsl 支持尚未实现。查码时发现了这个信息here 。有一个待处理的issue Jira 上也有此集成。

但是,如果你检查 Spring Data Elasticsearch,有一个关于 QueryDsl 支持的部分。恐怕这部分与实现不同步。

关于spring-boot - 将 Querydsl 与 spring boot 和 elasticsearch 结合使用时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41124493/

相关文章:

java - Spring - 服务中构造函数的错误参数 0 需要找不到类型为 Configuration 的 bean

Spring Data JPA - 规范和 Querydsl

spring-boot - 单元测试时如何模拟ElasticsearchOperations(spring-data-elasticsearch v.4.0.3)

java - 从 Spring Data Elastic Search 4.0.0 的 SearchHits 类获取 InnerHits 结果

java - 使用 postman 解析和映射 json

java - Spring boot 版本更改给出错误

java - Spring Boot HttpMessageNotReadableException

spring-boot - querydsl生成的q源代码未正确导入

java - 使用多个 ManyToOne 连接进行查询

spring-boot - 是否有一种优雅的方法来指定实体的字段,以使Spring Data Elasticsearch的ObjectMapper忽略它们,而将它们序列化为REST?