无法解释路径表达式“rownum”

问题描述 投票:0回答:1

我将此 Oracle 查询实现为 HQL 和 Spring Boot 查询,我想将其迁移到 PostgreSQL

  @Query("select profileId from HrDepartment where profileId = :id and profileId is not null and rownum = 1)")
  String getProfileId(@Param("id") String id);

使用 migrate rownum to PostgreSQL 的正确方法是什么?

sql postgresql rownum
1个回答
0
投票

在 PostgreSQL 中,使用 LIMIT 子句结合 OFFSET 可以实现与 Oracle 的 rownum 类似的功能

@Query("从 HrDepartment 中选择 profileId,其中 profileId = :id AND profileId IS NOT NULL LIMIT 1") String getProfileId(@Param("id") String id);

在此 PostgreSQL 版本中,LIMIT 1 确保仅返回一行,并且在 PostgreSQL 中不需要等效的 rownum = 1。

只需确保您的 PostgreSQL 数据库架构与 HQL 查询中使用的表和列名称匹配,并确保 HrDepartment 实体在 Spring Boot 应用程序中正确映射。

© www.soinside.com 2019 - 2024. All rights reserved.