HTTP Status 500 - executing PreparedStatementCallback; bad SQL grammar [SELECT * FROM ( SELECT (ROW_NUMBER() OVER()) AS RNUM, A.* FROM ( SELECT ID, ACADEMY_ID, USERID, WRITER, TITLE, CONTENT, HIT, ISBOLD, ISNOTICE, NOTICE_ID, REGDATE FROM ACADEMY_NOTICE WHERE ACADEMY_ID = ? ORDER BY ISNOTICE DESC, ID DESC ) A ) WHERE RNUM BETWEEN ? AND ?]; nested exception is org.postgresql.util.PSQLException: ERROR: subquery in FROM must have an alias


type Exception report

message executing PreparedStatementCallback; bad SQL grammar [SELECT * FROM ( SELECT (ROW_NUMBER() OVER()) AS RNUM, A.* FROM ( SELECT ID, ACADEMY_ID, USERID, WRITER, TITLE, CONTENT, HIT, ISBOLD, ISNOTICE, NOTICE_ID, REGDATE FROM ACADEMY_NOTICE WHERE ACADEMY_ID = ? ORDER BY ISNOTICE DESC, ID DESC ) A ) WHERE RNUM BETWEEN ? AND ?]; nested exception is org.postgresql.util.PSQLException: ERROR: subquery in FROM must have an alias

description The server encountered an internal error that prevented it from fulfilling this request.

exception

org.springframework.jdbc.BadSqlGrammarException: executing PreparedStatementCallback; bad SQL grammar [SELECT * FROM ( SELECT (ROW_NUMBER() OVER()) AS RNUM, A.* FROM ( SELECT ID, ACADEMY_ID, USERID, WRITER, TITLE, CONTENT, HIT, ISBOLD, ISNOTICE, NOTICE_ID, REGDATE FROM ACADEMY_NOTICE WHERE ACADEMY_ID = ? ORDER BY ISNOTICE DESC, ID DESC ) A ) WHERE RNUM BETWEEN ? AND ?]; nested exception is org.postgresql.util.PSQLException: ERROR: subquery in FROM must have an alias
  Hint: For example, FROM (SELECT ...) [AS] foo.
  Position: 15
	org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.translate(SQLErrorCodeSQLExceptionTranslator.java:223)
	org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:456)
	org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:491)
	org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:522)
	org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:543)
	org.springframework.jdbc.object.SqlQuery.execute(SqlQuery.java:114)
	org.springframework.jdbc.object.SqlQuery.execute(SqlQuery.java:124)
	com.readingtown.board.dao.AcademyNoticeDAO.selectList(AcademyNoticeDAO.java:77)
	com.readingtown.board.service.AcademyNoticeService.selectList(AcademyNoticeService.java:103)
	com.readingtown.board.service.AcademyNoticeService$$FastClassByCGLIB$$665d1cf.invoke(<generated>)
	net.sf.cglib.proxy.MethodProxy.invoke(MethodProxy.java:149)
	org.springframework.aop.framework.Cglib2AopProxy$CglibMethodInvocation.invokeJoinpoint(Cglib2AopProxy.java:661)
	org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:122)
	org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:57)
	org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:144)
	com.readingtown.advice.TraceAdvice.invoke(TraceAdvice.java:34)
	org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:144)
	org.springframework.aop.framework.adapter.ThrowsAdviceInterceptor.invoke(ThrowsAdviceInterceptor.java:118)
	org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:144)
	org.springframework.aop.framework.Cglib2AopProxy$DynamicAdvisedInterceptor.intercept(Cglib2AopProxy.java:606)
	com.readingtown.board.service.AcademyNoticeService$$EnhancerByCGLIB$$a7f9b5e.selectList(<generated>)
	com.readingtown.board.control.AcademyNoticeController.list(AcademyNoticeController.java:82)
	sun.reflect.GeneratedMethodAccessor376.invoke(Unknown Source)
	sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	java.lang.reflect.Method.invoke(Method.java:483)
	org.springframework.web.servlet.mvc.multiaction.MultiActionController.invokeNamedMethod(MultiActionController.java:351)
	org.springframework.web.servlet.mvc.multiaction.MultiActionController.handleRequestInternal(MultiActionController.java:305)
	org.springframework.web.servlet.mvc.AbstractController.handleRequest(AbstractController.java:128)
	org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.handle(SimpleControllerHandlerAdapter.java:44)
	org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:684)
	org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:625)
	org.springframework.web.servlet.FrameworkServlet.serviceWrapper(FrameworkServlet.java:386)
	org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:346)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:620)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
	org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
	com.readingtown.filter.EncodingFilter.doFilter(EncodingFilter.java:33)

root cause

org.postgresql.util.PSQLException: ERROR: subquery in FROM must have an alias
  Hint: For example, FROM (SELECT ...) [AS] foo.
  Position: 15
	org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:2103)
	org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:1836)
	org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:257)
	org.postgresql.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc2Statement.java:512)
	org.postgresql.jdbc2.AbstractJdbc2Statement.executeWithFlags(AbstractJdbc2Statement.java:388)
	org.postgresql.jdbc2.AbstractJdbc2Statement.executeQuery(AbstractJdbc2Statement.java:273)
	org.apache.commons.dbcp.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:92)
	org.springframework.jdbc.core.JdbcTemplate$1.doInPreparedStatement(JdbcTemplate.java:504)
	org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:450)
	org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:491)
	org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:522)
	org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:543)
	org.springframework.jdbc.object.SqlQuery.execute(SqlQuery.java:114)
	org.springframework.jdbc.object.SqlQuery.execute(SqlQuery.java:124)
	com.readingtown.board.dao.AcademyNoticeDAO.selectList(AcademyNoticeDAO.java:77)
	com.readingtown.board.service.AcademyNoticeService.selectList(AcademyNoticeService.java:103)
	com.readingtown.board.service.AcademyNoticeService$$FastClassByCGLIB$$665d1cf.invoke(<generated>)
	net.sf.cglib.proxy.MethodProxy.invoke(MethodProxy.java:149)
	org.springframework.aop.framework.Cglib2AopProxy$CglibMethodInvocation.invokeJoinpoint(Cglib2AopProxy.java:661)
	org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:122)
	org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:57)
	org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:144)
	com.readingtown.advice.TraceAdvice.invoke(TraceAdvice.java:34)
	org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:144)
	org.springframework.aop.framework.adapter.ThrowsAdviceInterceptor.invoke(ThrowsAdviceInterceptor.java:118)
	org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:144)
	org.springframework.aop.framework.Cglib2AopProxy$DynamicAdvisedInterceptor.intercept(Cglib2AopProxy.java:606)
	com.readingtown.board.service.AcademyNoticeService$$EnhancerByCGLIB$$a7f9b5e.selectList(<generated>)
	com.readingtown.board.control.AcademyNoticeController.list(AcademyNoticeController.java:82)
	sun.reflect.GeneratedMethodAccessor376.invoke(Unknown Source)
	sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	java.lang.reflect.Method.invoke(Method.java:483)
	org.springframework.web.servlet.mvc.multiaction.MultiActionController.invokeNamedMethod(MultiActionController.java:351)
	org.springframework.web.servlet.mvc.multiaction.MultiActionController.handleRequestInternal(MultiActionController.java:305)
	org.springframework.web.servlet.mvc.AbstractController.handleRequest(AbstractController.java:128)
	org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.handle(SimpleControllerHandlerAdapter.java:44)
	org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:684)
	org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:625)
	org.springframework.web.servlet.FrameworkServlet.serviceWrapper(FrameworkServlet.java:386)
	org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:346)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:620)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
	org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
	com.readingtown.filter.EncodingFilter.doFilter(EncodingFilter.java:33)

note The full stack trace of the root cause is available in the Apache Tomcat/7.0.56 logs.


Apache Tomcat/7.0.56