我将此 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 的正确方法是什么?
在 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 应用程序中正确映射。