首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Querydsl mongodb gradle springboot问题

Querydsl mongodb gradle springboot问题
EN

Stack Overflow用户
提问于 2016-09-10 16:52:09
回答 3查看 2.6K关注 0票数 1

我正在尝试在我的项目中使用querydsl,就像spring boot文档springboot-mongodb-look at 5.3.4中描述的那样,这样我就可以做到这一点,

代码语言:javascript
复制
QPerson person = new QPerson("person");
List<Person> result = repository.findAll(person.address.zipCode.eq("C0123"));

Page<Person> page = repository.findAll(person.lastname.contains("a"), 
                                       new PageRequest(0, 2, Direction.ASC, "lastname"));

我使用gradle build和mongodb作为数据库。

我的问题是,在querydsl文档中,只提供了maven集成。querydsl document link

代码语言:javascript
复制
<dependency>
  <groupId>com.querydsl</groupId>
  <artifactId>querydsl-apt</artifactId>
  <version>${querydsl.version}</version>
  <scope>provided</scope>
</dependency>

<dependency>
  <groupId>com.querydsl</groupId>
  <artifactId>querydsl-mongodb</artifactId>
  <version>${querydsl.version}</version>
</dependency>

<dependency>
  <groupId>org.slf4j</groupId>
  <artifactId>slf4j-log4j12</artifactId>
  <version>1.6.1</version>
</dependency>

现在,配置生成Querydsl使用的查询类型的Maven APT插件:

代码语言:javascript
复制
<project>
  <build>
    <plugins>
      ...
      <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.morphia.MorphiaAnnotationProcessor</processor>
            </configuration>
          </execution>
        </executions>
      </plugin>
    ...
    </plugins>
  </build>
</project>

这可以使用gradle集成吗?如果是,请提供解决方案。

EN

回答 3

Stack Overflow用户

发布于 2016-09-11 00:45:22

看看querydsl-with-gradle-and-ideaConfiguring QueryDSL for Spring Data and MongoDB with Gradle

它们使用:

代码语言:javascript
复制
compile "com.mysema.querydsl:querydsl-apt:3.6.3:jpa"
compile "com.querydsl.apt:querydsl-mongodb:4.0.9"

这里详细介绍了github corneil's spring-data-demo的完整示例:QueryDSL for Mongo with Spring and gradle

票数 0
EN

Stack Overflow用户

发布于 2018-02-23 14:40:50

对我有帮助的这篇文章add Querydslsupport

接下来添加到gradle文件:

代码语言:javascript
复制
buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath "gradle.plugin.com.ewerk.gradle.plugins:querydsl-plugin:1.0.9"
    }
}

apply plugin: 'com.ewerk.gradle.plugins.querydsl'

sourceSets {
    main {
        java {
            srcDir "$buildDir/generated/source/app/main"
        }
    }
}

dependencies {
    compile "com.querydsl:querydsl-mongodb:4.1.4"
    compileOnly "com.querydsl:querydsl-apt:4.1.4"
}

querydsl {
    springDataMongo = true
    querydslSourcesDir = "$buildDir/generated/source/app/main"
}

在此之后,您应该将@Document注释添加到实体类中,然后进行构建。您将在querydslSourcesDir中指定的文件夹下看到生成的Q文件。

票数 0
EN

Stack Overflow用户

发布于 2021-07-09 09:24:01

这就是我在QueryDSL MongoDB 4.4.0和Gradle7上的工作原理。

  1. 将以下依赖项添加到build.gradle文件中。

实现"com.querydsl:querydsl-mongodb:4.4.0“annotationProcessor("com.querydsl:querydsl-apt:4.4.0:general","javax.annotation:javax.annotation-api")

注意:我们需要javax.annotation:javax.annotation-api,这样APT处理器才能理解您的域类中的@NotNull等。

  1. 使用来自com.querydsl.core.annotations包的@QueryEntity批注来批注您的域类(来自上面的第一个依赖项)。

让Gradle了解它的魔力,你就会看到QClasses。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39424345

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档