@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。
可能有什么问题?
2条答案
按热度按时间bis0qfac1#
该问题可能是由于在@Query中只使用了% s。用所有数据库列名替换s,即s.coloumn1,s.column2,s.column3将修复该问题。
lb3vh1jj2#
我也有同样的问题。在某些情况下,如果我们在SELECT语句中使用表别名,结果列似乎无法Map到输出实体。
同样的查询在一种情况下有效,在其他情况下失败。我发现,如果我们使用星星
*
而不是别名,问题就会消失: