gpt4 book ai didi

java - 如何在 Spring Data JPA 中使用 CTE 表达式 WITH 子句

转载 作者:行者123 更新时间:2023-12-05 06:01:34 31 4
gpt4 key购买 nike

我想在 SQL Server 中编写递归查询。所以我正在使用 CTE。查询在 SSMS 中正常工作,但是当我尝试在 JPA 中使用与 native SQL 相同的 CTE 时,它会出现错误:

Invalid name column Id.

实体(我在 CTE 中使用它来递归地获取数据)有 @Id @Column(name="pk_id") private int Id 字段。

我也关注了这个 SOQ:cte sql to simple subset query for JPA

但仍然收到无效名称列 ID 的错误。

我以前从未使用过 CTE。如何解决?

最佳答案

您可以在 JPA 存储库中编写 SQL 查询,因为 @Query 注释也采用 native 查询。为此,您需要在值参数中指定 SQL 查询,并且 nativeQuery 为真,如下所示。

您也可以编写 CTE 查询。

public interface ISomeRepository extends JpaRepository<Entity, Long> {


@Query(value = "SQL QUERY NEED TO BE WRITTEN HERE", nativeQuery = true)
List<Long> getEntityIds();
}

关于java - 如何在 Spring Data JPA 中使用 CTE 表达式 WITH 子句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67156121/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com