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语句 ,解释: