Java QueryDsl代码生成不生成Q类
我正在做一个Spring项目,在那里我将QueryDsl用于实体。我从几个月前开始学习这个项目,在那里我已经有了一个生成类(QUser)。现在,我创建了一个名为Permission的新实体,并修改了用户实体。当我在构建项目时,QUser没有改变,QPermission类也没有生成。我做错了什么?下面是QueryDsl的实体和pom.xmlJava QueryDsl代码生成不生成Q类,java,code-generation,querydsl,Java,Code Generation,Querydsl,我正在做一个Spring项目,在那里我将QueryDsl用于实体。我从几个月前开始学习这个项目,在那里我已经有了一个生成类(QUser)。现在,我创建了一个名为Permission的新实体,并修改了用户实体。当我在构建项目时,QUser没有改变,QPermission类也没有生成。我做错了什么?下面是QueryDsl的实体和pom.xml @Entity @Table(name = "permission") public class Permission { @Id @Genera
@Entity
@Table(name = "permission")
public class Permission {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@Column(name = "name", length = 100, nullable = false)
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:
[..]
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
<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>
</plugins>
</build>
[...]
[…]
org.springframework.boot
我正在使用IntellIJ IDEA,并尝试了“重建项目”选项。这里是一个正在工作的pom.xml
4.0.0
你好
querydsl
0.0.1-快照
罐子
querydsl
http://maven.apache.org
UTF-8
4.1.0
com.querydsl
querydsl公寓
${querydsl.version}
假如
com.querydsl
querydsl jpa
${querydsl.version}
org.hibernate.javax.persistence
hibernate-jpa-2.0-api
1.0.1.最终版本
org.slf4j
slf4j-log4j12
1.6.1
maven编译器插件
3.7.0
1.8
1.8
com.mysema.maven
aptmaven插件
1.1.3
过程
目标/生成源
com.querydsl.apt.jpa.JPAAnnotationProcessor
以及生成的类:
/**
* QPermission is a Querydsl query type for Permission
*/
@Generated("com.querydsl.codegen.EntitySerializer")
public class QPermission extends EntityPathBase<Permission> {
private static final long serialVersionUID = -479242270L;
public static final QPermission permission = new QPermission("permission");
public final NumberPath<Long> id = createNumber("id", Long.class);
public final StringPath name = createString("name");
public QPermission(String variable) {
super(Permission.class, forVariable(variable));
}
public QPermission(Path<? extends Permission> path) {
super(path.getType(), path.getMetadata());
}
public QPermission(PathMetadata metadata) {
super(Permission.class, metadata);
}
}
/**
*QPermission是权限的Querydsl查询类型
*/
@已生成(“com.querydsl.codegen.EntitySerializer”)
公共类QPermission扩展EntityPathBase{
私有静态最终长serialVersionUID=-479242270L;
公共静态最终QPermission权限=新QPermission(“权限”);
public final NumberPath id=createNumber(“id”,Long.class);
公共最终StringPath名称=createString(“名称”);
公共QPermission(字符串变量){
super(Permission.class,forVariable(variable));
}
publicqpermission(Path这里是一个正在工作的pom.xml
4.0.0
你好
querydsl
0.0.1-快照
罐子
querydsl
http://maven.apache.org
UTF-8
4.1.0
com.querydsl
querydsl公寓
${querydsl.version}
假如
com.querydsl
querydsl jpa
${querydsl.version}
org.hibernate.javax.persistence
hibernate-jpa-2.0-api
1.0.1.最终版本
org.slf4j
slf4j-log4j12
1.6.1
maven编译器插件
3.7.0
1.8
1.8
com.mysema.maven
aptmaven插件
1.1.3
过程
目标/生成源
com.querydsl.apt.jpa.JPAAnnotationProcessor
以及生成的类:
/**
* QPermission is a Querydsl query type for Permission
*/
@Generated("com.querydsl.codegen.EntitySerializer")
public class QPermission extends EntityPathBase<Permission> {
private static final long serialVersionUID = -479242270L;
public static final QPermission permission = new QPermission("permission");
public final NumberPath<Long> id = createNumber("id", Long.class);
public final StringPath name = createString("name");
public QPermission(String variable) {
super(Permission.class, forVariable(variable));
}
public QPermission(Path<? extends Permission> path) {
super(path.getType(), path.getMetadata());
}
public QPermission(PathMetadata metadata) {
super(Permission.class, metadata);
}
}
/**
*QPermission是权限的Querydsl查询类型
*/
@已生成(“com.querydsl.codegen.EntitySerializer”)
公共类QPermission扩展EntityPathBase{
私有静态最终长serialVersionUID=-479242270L;
公共静态最终QPermission权限=新QPermission(“权限”);
public final NumberPath id=createNumber(“id”,Long.class);
公共最终StringPath名称=createString(“名称”);
公共QPermission(字符串变量){
super(Permission.class,forVariable(variable));
}
publicqpermission(Path能否显示pom.xml中的依赖项
我从零开始做了一些测试
以下是依赖项:
<dependencies>
...
<dependency>
<groupId>com.querydsl</groupId>
<artifactId>querydsl-apt</artifactId>
<version>4.2.1</version>
</dependency>
<dependency>
<groupId>com.querydsl</groupId>
<artifactId>querydsl-jpa</artifactId>
<version>4.2.1</version>
</dependency>
...
</dependencies>
...
com.querydsl
我不运行该项目,只编译它以验证它是否工作。您能显示您在pom.xml中放置的依赖项吗
我从零开始做了一些测试
以下是依赖项:
<dependencies>
...
<dependency>
<groupId>com.querydsl</groupId>
<artifactId>querydsl-apt</artifactId>
<version>4.2.1</version>
</dependency>
<dependency>
<groupId>com.querydsl</groupId>
<artifactId>querydsl-jpa</artifactId>
<version>4.2.1</version>
</dependency>
...
</dependencies>
...
com.querydsl
我不运行该项目,只编译它以验证它是否有效。添加以下依赖项为我做到了这一点:
<dependency>
<groupId>com.mysema.querydsl</groupId>
<artifactId>querydsl-jpa</artifactId>
<version>3.7.4</version>
</dependency>
com.mysema.querydsl
添加以下依赖项为我做到了这一点:
<dependency>
<groupId>com.mysema.querydsl</groupId>
<artifactId>querydsl-jpa</artifactId>
<version>3.7.4</version>
</dependency>
com.mysema.querydsl
你能向我解释一下,你是如何做到的吗?我是只是更改pom.xml的内容,然后进行构建吗?还是还有别的什么?我想创建更多的实体,所有这些实体都需要一个Q类。@iron24你能发布你的pom.xml吗?还有,你是如何触发构建的,使用:mvn clean package?你能向我解释一下,你是如何做到的吗只需更改pom.xml内容,然后进行构建?还是有其他内容?我想创建更多的实体,所有实体都需要一个Q类。@iron24您可以发布pom.xml吗?另外,如何触发构建,使用:mvn clean package?