ResultSet 中找不到栏位名称 source_time。

2018-07-17 14:38:27.390  INFO 8304 --- [nio-8080-exec-1] o.a.c.c.C.[Tomcat].[localhost].[/]       : Initializing Spring FrameworkServlet 'dispatcherServlet'
2018-07-17 14:38:27.390  INFO 8304 --- [nio-8080-exec-1] o.s.web.servlet.DispatcherServlet        : FrameworkServlet 'dispatcherServlet': initialization started
2018-07-17 14:38:27.419  INFO 8304 --- [nio-8080-exec-1] o.s.web.servlet.DispatcherServlet        : FrameworkServlet 'dispatcherServlet': initialization completed in 28 ms
Hibernate: 
    SELECT
        avg(quality)  ,
        max(server_time) AS max_server ,
        min(source_time) as min_source,
        count(tag) ,
        sum(value),
        sum(quality) as sum_quailty 
    FROM
        metrics 
    WHERE
        server_time > NOW() - interval '6 days'
2018-07-17 14:38:27.509  WARN 8304 --- [nio-8080-exec-1] o.h.engine.jdbc.spi.SqlExceptionHelper   : SQL Error: 0, SQLState: 42703
2018-07-17 14:38:27.509 ERROR 8304 --- [nio-8080-exec-1] o.h.engine.jdbc.spi.SqlExceptionHelper   : ResultSet 中找不到栏位名称 source_time。
2018-07-17 14:38:27.526 ERROR 8304 --- [nio-8080-exec-1] o.a.c.c.C.[.[.[/].[dispatcherServlet]    : 
Servlet.service() for servlet [dispatcherServlet] in context with path [] threw 
exception [Request processing failed; nested exception is org.springframework.dao.InvalidDataAccessResourceUsageException: could not execute query;
 SQL [SELECT  avg(quality)  ,max(server_time) AS max_server , min(source_time) as min_source,count(tag) ,sum(value), sum(quality) as sum_quailty FROM   metrics WHERE  server_time > NOW() - interval '6 days']; nested exception is org.hibernate.exception.SQLGrammarException: could not execute query] with root cause

org.postgresql.util.PSQLException: ResultSet 中找不到栏位名称 source_time。
	at org.postgresql.jdbc.PgResultSet.findColumn(PgResultSet.java:2589) ~[postgresql-42.2.2.jar:42.2.2]
	at org.postgresql.jdbc.PgResultSet.getTimestamp(PgResultSet.java:2513) ~[postgresql-42.2.2.jar:42.2.2]
	at com.zaxxer.hikari.pool.HikariProxyResultSet.getTimestamp(HikariProxyResultSet.java) ~[HikariCP-2.7.9.jar:na]
	at org.hibernate.type.descriptor.sql.TimestampTypeDescriptor$2.doExtract(TimestampTypeDescriptor.java:84) ~[hibernate-core-5.2.17.Final.jar:5.2.17.Final]
	at org.hibernate.type.descriptor.sql.BasicExtractor.extract(BasicExtractor.java:47) ~[hibernate-core-5.2.17.Final.jar:5.2.17.Final]

解决:

1、SQL Error: 0, SQLState: 42703

2、出现错误信息:ResultSet 中找不到栏位名称 001。 
    很可能是你写的ResultSet的get方法有问题,或是sql语句有问题 

以上是在度娘上查找的信息!!

本人:

控制台上的SQL语句在我的数据库里面,可以运行,而且正确的输出结果。

最终成功改正:

 

在@Query 里面的SQL语句 ,解释:

猜你喜欢

转载自blog.csdn.net/qq_28289405/article/details/81080937