QueryDsl - 如何使用 maven 创建 Q 类?

Posted

技术标签:

【中文标题】QueryDsl - 如何使用 maven 创建 Q 类?【英文标题】:QueryDsl - How to create Q classes with maven? 【发布时间】:2014-09-13 10:15:57 【问题描述】:

我有带有 spring 数据的 web 项目 spring mvc 这是示例:https://github.com/prilia/SpringJpa-Quarydsl-Test/tree/master/JpaSpringQuarydsl 我检查了很多我在 web 中找到的 pom.xml 来创建 Q 类的实体,但不乏。 请帮助我使用 maven 创建 Q 类。

【问题讨论】:

你检查过querydsl.com/static/querydsl/1.1.0/reference/html/ch02.html吗? 【参考方案1】:

你需要插件,试试这个:

                <plugin>
                    <groupId>com.mysema.maven</groupId>
                    <artifactId>maven-apt-plugin</artifactId>
                    <version>1.0.4</version>
                    <executions>
                        <execution>
                            <id>process-common-model</id>
                            <goals>
                                <goal>process</goal>
                            </goals>
                            <phase>generate-sources</phase>
                            <configuration>
                                <sourceDirectory>$project.build.directory/yourSourceDir</sourceDirectory>
                            </configuration>
                        </execution>
                    </executions>
                    <configuration>
                        <outputDirectory>target/generated-sources/querydsl</outputDirectory>
                        <processors>
                            <processor>com.mysema.query.apt.jpa.JPAAnnotationProcessor</processor>
                        </processors>
                        <options>
                            <querydsl.entityAccessors>true</querydsl.entityAccessors>
                            <querydsl.createDefaultVariable>true</querydsl.createDefaultVariable>
                            <querydsl.packageSuffix>.qdsl</querydsl.packageSuffix>
                        </options>
                    </configuration>
                </plugin>

我从我的项目中复制了这个。刚刚将其添加到您的pom 并尝试一下。

上面的代码中还有额外的选项,如果你只是想要一个简单的,关注querydsl reference

【讨论】:

在生成 Q 文件并在项目中使用它们之后,如果错误地删除了这些文件,那么它会再次编译(因为 mvn clean install 也会失败。) 单独添加插件不会做任何事情,你需要运行mvn clean install

以上是关于QueryDsl - 如何使用 maven 创建 Q 类?的主要内容,如果未能解决你的问题,请参考以下文章

Maven 使用 spring-data-jpa 和 querydsl 构建问题

如何让 QueryDSL 和 Lombok 协同工作

SpringBoot环境下QueryDSL-JPA的使用

SpringDataJPA 整合QueryDSL

Querydsl:如何选择特定列

Spring Data JPA中使用QueryDSL进行查询