在此结果集中找不到列名id


@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 ...;

最新更新