Spring Boot 在此ResultSet中找不到列名id

gywdnpxw  于 2023-05-28  发布在  Spring
关注(0)|答案(2)|浏览(419)
@Query(value = "SELECT s FROM logines.work_hour s WHERE TO_TIMESTAMP(s.start_time,  'YYYY-MM-DD HH24:mi')\\:\\:timestamp BETWEEN :start_time\\:\\:timestamp AND now()\\:\\:timestamp", nativeQuery = true)
List<WorkHour> findByStartTime(@Param("start_time") String startTime);

org.postgresql.util.PSQLException:在此ResultSet中找不到列名ID。
可能有什么问题?

bis0qfac

bis0qfac1#

该问题可能是由于在@Query中只使用了% s。用所有数据库列名替换s,即s.coloumn1,s.column2,s.column3将修复该问题。

lb3vh1jj

lb3vh1jj2#

我也有同样的问题。在某些情况下,如果我们在SELECT语句中使用表别名,结果列似乎无法Map到输出实体。

SELECT t FROM my_table t WHERE ....;

同样的查询在一种情况下有效,在其他情况下失败。我发现,如果我们使用星星*而不是别名,问题就会消失:

SELECT * FROM my_table t WHERE ...;

相关问题