Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typo3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java QueryDsl代码生成不生成Q类_Java_Code Generation_Querydsl - Fatal编程技术网

Java QueryDsl代码生成不生成Q类

Java 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

我正在做一个Spring项目,在那里我将QueryDsl用于实体。我从几个月前开始学习这个项目,在那里我已经有了一个生成类(QUser)。现在,我创建了一个名为Permission的新实体,并修改了用户实体。当我在构建项目时,QUser没有改变,QPermission类也没有生成。我做错了什么?下面是QueryDsl的实体和pom.xml

@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?