繁体   English   中英

IntelliJ 中未生成 QueryDsl 类

[英]QueryDsl classes are not generated in IntelliJ

我有以下课程,我想尝试使用 querydsl 并进行一些基本查询。 使用intelliJ 2017.3,没有生成类QUser。 我试过在谷歌上搜索我的问题,每个 SO 答案似乎都提供了不同的解决方案(有些没有用,有些我不明白,因为我以前从未使用过这些东西),而且大多数教程似乎都在做完全不同的事情。

我曾尝试使用 Spring Boot 似乎内置的任何内容进行查询(不知道,似乎只是可行,但从它的外观来看它太基本了)并且查询工作得很好,所以我猜这是一些配置问题(我是一个行家和春天的菜鸟)。

// User.java
@Entity
@Table(name = "symptoms")
public class Symptom
{
    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    private Long id;

    @NotNull
    private String name;

    public Long getId()
    {
        return id;
    }

    public void setId(Long id)
    {
        this.id = id;
    }

    public String getName()
    {
        return name;
    }

    public void setName(String name)
    {
        this.name = name;
    }
}

我已将这些内容添加到 pom.xml 中:

    <dependency>
        <groupId>com.querydsl</groupId>
        <artifactId>querydsl-apt</artifactId>
        <version>4.1.4</version>
    </dependency>

    <dependency>
        <groupId>com.querydsl</groupId>
        <artifactId>querydsl-jpa</artifactId>
        <version>4.1.4</version>
    </dependency>

    <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-log4j12</artifactId>
        <version>1.7.25</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.jpa.JPAAnnotationProcessor</processor>
                    </configuration>
                </execution>
            </executions>
        </plugin>

您可以通过以下方式解决此问题:打开目标文件夹 --> 右键单击生成的源文件夹 -> 将目录标记为 -> 生成的源根

正确标记生成的源文件夹后,它对我来说没有任何问题。 如果 IntelliJ 不能立即识别标记的文件夹并且错误仍然存​​在,则mvn clean install通常会mvn clean install帮助。

我已经设法使用好的 ol' 代码生成 Q 类。 只需调用一次,类就会在target/generated-sources/java 您可以在倒数第二行中更改此设置。

GenericExporter exporter = new GenericExporter();
exporter.setKeywords(Keywords.JPA);
exporter.setEntityAnnotation(Entity.class);
exporter.setEmbeddableAnnotation(Embeddable.class);
exporter.setEmbeddedAnnotation(Embedded.class);
exporter.setSupertypeAnnotation(MappedSuperclass.class);
exporter.setSkipAnnotation(Transient.class);
exporter.setTargetFolder(new File("target/generated-sources/java"));
exporter.export(ApplicationClass.class.getPackage());

在最后一行中, ApplicationClass是启动 spring 应用程序的类。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM