java - 为什么查询dsl实体路径限制在四级?

标签 java querydsl

我目前正在使用 maven apt 插件生成 EntityPath 基类。

      <plugin>
            <groupId>com.mysema.maven</groupId>
            <artifactId>maven-apt-plugin</artifactId>
            <version>1.0.4</version>
            <executions>
                <execution>
                    <goals>
                        <goal>process</goal>
                    </goals>
                    <phase>generate-sources</phase>
                    <configuration>
                        <outputDirectory>target/generated-sources/java</outputDirectory>
                        <processor>com.mysema.query.apt.jpa.JPAAnnotationProcessor</processor>
                    </configuration>
                </execution>
            </executions>
            <dependencies>
                <dependency>
                    <groupId>com.mysema.querydsl</groupId>
                    <artifactId>querydsl-apt</artifactId>
                    <version>${querydsl.version}</version>
                </dependency>
                <dependency>
                    <groupId>com.mysema.querydsl</groupId>
                    <artifactId>querydsl-jpa</artifactId>
                    <classifier>apt</classifier>
                    <version>${querydsl.version}</version>
                </dependency>
            </dependencies>
        </plugin>

这会生成所需的 Q 类,并且有助于为查询构建谓词。但是我注意到,每当我超过四个级别时,我总是会得到一个空指针异常,即:

QFoo.foo.x.y.z

其中 Z 是 QZ 类型;生成的 EntityPath。

这是 QueryDSL 的限制吗?

最佳答案

是的,这是 Querydsl 的限制。由于正常路径初始化使用最终字段,因此需要使用限制。幸运的是,可以通过多种方式自定义路径初始化 http://www.querydsl.com/static/querydsl/3.5.0/reference/html/ch03s03.html#d0e2181

关于java - 为什么查询dsl实体路径限制在四级?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26381064/

相关文章:

java - 在同一个函数的 synchronized() block 中初始化后,能否在 synchronized() 之外安全地使用 Java 集合?

java - 通过使用空构造函数扩展可以序列化吗?

java - queryDSL 中的 Group concat 等价物

mysql - 为基于 oneTomany 关系的查询编写 queryDSL 谓词查询

java - Solr 4 - 索引发布的文本文件

javascript - 使用后端的值在 extjs 中动态设置日期

java - 如何通过 ANT 任务应用 QueryDSL 数字映射?

sql - QueryDSL 中的路径引用连接到子查询

Java/Swing - 传递应用程序对象

elasticsearch - 很难结合 bool 和 range 查询, Elasticsearch