首页 > 解决方案 > 这个 JPA @Query 有什么问题?

问题描述

我有一个 Spring Boot 应用程序,使用 Spring Data JPA 与 H2 数据库连接。我试图@Query在其中一个中编写一个方法JpaRepositories,但它总是返回一个空集合,我不知道为什么。

public interface ProductService extends JpaRepository<Product, Long> {
    @Query(value = "SELECT * FROM product WHERE category=':category'", nativeQuery = true)
    List<Product> getCategory(@Param("category") String category);
}

我只将这段代码放在上面,因为我确定数据存在于数据库中。我已经通过从 H2-console 运行这个完全相同的查询来验证它,并且它每次都有效。这里可能是什么问题?

标签: sqlspringdatabasejpah2

解决方案


您可以尝试为表提供别名并选择相同的别名而不是 *,如下所示

@Query(value = "SELECT p FROM Product p WHERE p.category = :category")
List<Product> getCategory(@Param("category") String category);

推荐阅读