2
  1. 我在使用 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 类型的对象

  1. 如果不更改项目中的包,我该怎么办?

还是建议在 springboot 项目中同时使用这两个包?

  1. 除了 Mysema 和 Querydsl 对软件包的所有权之外,这两者之间的真正区别是什么?

  2. 从 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>
4

0 回答 0