首页 > 解决方案 > Quarkus 扩展 (io.quarkus:quarkus-spring-data-jpa) 存储库无法返回字符串集合

问题描述

我正在将我的服务从 SpringBoot 堆栈迁移到 Quarkus。为什么以下代码在 Quarkus 中不起作用?那是一个错误吗?

public interface GenericDictionaryRepository extends
        JpaRepository<Dictionary, UUID> {

    @Query("select distinct(d.type) from Dictionary d order by d.type")
    List<String> findAllTypes();

}

错误信息

io.quarkus.builder.BuildException: Build failure: Build failed due to errors
    [error]: Build step io.quarkus.spring.data.deployment.SpringDataJPAProcessor#build threw an exception: java.lang.IllegalStateException: java.lang.String was not part of the Quarkus index

我的 Gradle 版本属性:

quarkusPluginVersion=1.3.1.Final
quarkusPlatformArtifactId=quarkus-universe-bom
quarkusPlatformGroupId=io.quarkus
quarkusPlatformVersion=1.3.1.Final

标签: javaquarkus

解决方案


我有同样的问题,这是一个方法命名问题。我不得不在 quarkus 代码中设置一个断点来查找拼写错误的方法。

就我而言,方法是findAllOrderByNameAsc,当我使用时findAllByOrderByNameAsc,它起作用了。

要调试应用程序,您必须执行命令./mvnw quarkus:dev -Ddebug -Dsuspend=true并从 IDE 连接到远程。

希望能帮助到你。


推荐阅读