@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:在此结果集中找不到列名id。
可能有什么问题?
问题可能是由于@Query中只使用了s。将s替换为具有它的所有数据库列名,即s.colomn1、s.column2和s.column3将解决此问题。
我遇到了同样的问题。在某些情况下,如果我们在SELECT语句中使用表别名,结果列似乎无法映射到输出实体。
SELECT t FROM my_table t WHERE ....;
同样的查询在一种情况下有效,在其他情况下失败。我发现,如果我们使用恒星*
而不是别名:,问题就会消失
SELECT * FROM my_table t WHERE ...;