java – 为什么查询dsl实体路径限制为四个级别?
发布时间:2020-12-14 05:58:57 所属栏目:Java 来源:网络整理
导读:我目前正在使用maven apt插件来生成EntityPath基类. plugin groupIdcom.mysema.maven/groupId artifactIdmaven-apt-plugin/artifactId version1.0.4/version executions execution goals goalprocess/goal /goals phasegenerate-sources/phase configuration
我目前正在使用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
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |