我有以下的类,我想用querydsl尝试一些基本的查询。使用intelliJ 2017.3,没有生成QUser类。我尝试过在Google上搜索我的问题,每个stackoverflow答案似乎提供了不同的解决方案(有些不起作用,有些我不理解因为我以前从未使用过这些东西),大多数教程似乎完全做不同的事情。
我已经尝试使用Spring Boot内置的任何内容进行查询(不知道是什么,只是看起来太基础了),查询工作得很好,所以我猜测这是一些配置问题(我是一个maven和spring新手)。
// 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>
mvn clean compile -DskipTests
? - Cataclysm@Table
注释来自javax.presistence.*
吗?在终端上运行mvn clean compile
时会发生什么情况?在Intellij的常规设置中,Build, Execution, Deployment > Compiler > Annotation Processors,您有哪些值(只有在终端可以工作但Intellij不行的情况下才会出现这种情况)? - Sergio Grageramvn clean compile
将源文件编译到/target/classes并显示BUILD SUCCESS。在IntelliJ中,我在左侧得到了两个类别:Default和Maven默认注释。我的项目位于Maven默认注释下。 - Xzenon@Table
确实来自javax.persistence。终端的命令输出如下:clean
- 删除目标;resources
- 复制1个资源,复制13个资源;compile
- 重新编译模块,编译33个源文件;BUILD SUCCESS - 总时间,完成于。我希望这就是你想要的。 - Xzenon