我在使用 com.mysema.query 包时尝试使用以下方法。
QueryDslRepositorySupport.getQuerydsl().applyPagination(pageable, query);
但是,当我将 com.mysema.query.jpa.JPQLQuery 对象传递给该方法时,它抱怨它需要 com.querydsl.jpa.JPQLQuery 对象。
为什么这样做?我没有在我的项目中使用 com.querydsl 包。因此,它应该能够与 com.mysema.query 包一起正常工作,理想情况下,查询参数应该是 com.mysema.query.jpa.JPQLQuery 类型的对象
- 如果不更改项目中的包,我该怎么办?
还是建议在 springboot 项目中同时使用这两个包?
除了 Mysema 和 Querydsl 对软件包的所有权之外,这两者之间的真正区别是什么?
从 com.mysema.querydsl 迁移到 com.querydsl 后我面临的另一个问题 - 这种方法给了我一个编译时错误 -
jpaQuery.from(qClass1, qClass2, qClass3)
我的 Qclasses 属于 EntityPathBase 类型,其中 com.querydsl.JPAQuery 的 from() 方法需要 EntityPath 类。
我使用以下插件重新生成了我的 QClasses,但 QClasses 仍然扩展了 EntityPathBase,而不是 EntityPath(一个接口)
<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>