Why JPA Native Query causing SQL exception for column not found ?

Solution Unverified - Updated -

Issue

  • Why JPA Native Query giving SQL exception for column not found ?
12:37:34,756 INFO  [stdout] (http-/127.0.0.1:8080-3) Hibernate: select Employee.id, Employee.first_name, Employee.last_name from EMPLOYEE Employee
12:37:34,907 WARN  [org.hibernate.engine.jdbc.spi.SqlExceptionHelper] (http-/127.0.0.1:8080-3) SQL Error: 0, SQLState: S0022
12:37:34,908 ERROR [org.hibernate.engine.jdbc.spi.SqlExceptionHelper] (http-/127.0.0.1:8080-3) Column 'salary' not found.
12:37:34,909 ERROR [stderr] (http-/127.0.0.1:8080-3) javax.persistence.PersistenceException: org.hibernate.exception.SQLGrammarException: could not execute query
12:37:34,910 ERROR [stderr] (http-/127.0.0.1:8080-3)    at org.hibernate.ejb.AbstractEntityManagerImpl.convert(AbstractEntityManagerImpl.java:1387)
12:37:34,910 ERROR [stderr] (http-/127.0.0.1:8080-3)    at org.hibernate.ejb.AbstractEntityManagerImpl.convert(AbstractEntityManagerImpl.java:1310)
12:37:34,911 ERROR [stderr] (http-/127.0.0.1:8080-3)    at org.hibernate.ejb.QueryImpl.getResultList(QueryImpl.java:273)
12:37:34,911 ERROR [stderr] (http-/127.0.0.1:8080-3)    at com.tst.TestServlet.doGet(TestServlet.java:54)
12:37:34,911 ERROR [stderr] (http-/127.0.0.1:8080-3)    at javax.servlet.http.HttpServlet.service(HttpServlet.java:734)
12:37:34,911 ERROR [stderr] (http-/127.0.0.1:8080-3)    at javax.servlet.http.HttpServlet.service(HttpServlet.java:847)
12:37:34,911 ERROR [stderr] (http-/127.0.0.1:8080-3)    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:295)
12:37:34,911 ERROR [stderr] (http-/127.0.0.1:8080-3)    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214)
12:37:34,911 ERROR [stderr] (http-/127.0.0.1:8080-3)    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230)
12:37:34,912 ERROR [stderr] (http-/127.0.0.1:8080-3)    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:149)
12:37:34,912 ERROR [stderr] (http-/127.0.0.1:8080-3)    at org.jboss.as.jpa.interceptor.WebNonTxEmCloserValve.invoke(WebNonTxEmCloserValve.java:50)
12:37:34,912 ERROR [stderr] (http-/127.0.0.1:8080-3)    at org.jboss.as.jpa.interceptor.WebNonTxEmCloserValve.invoke(WebNonTxEmCloserValve.java:50)
12:37:34,912 ERROR [stderr] (http-/127.0.0.1:8080-3)    at org.jboss.as.web.security.SecurityContextAssociationValve.invoke(SecurityContextAssociationValve.java:169)
12:37:34,912 ERROR [stderr] (http-/127.0.0.1:8080-3)    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:145)
12:37:34,912 ERROR [stderr] (http-/127.0.0.1:8080-3)    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:97)
12:37:34,912 ERROR [stderr] (http-/127.0.0.1:8080-3)    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:102)
12:37:34,912 ERROR [stderr] (http-/127.0.0.1:8080-3)    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:336)
12:37:34,913 ERROR [stderr] (http-/127.0.0.1:8080-3)    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:856)
12:37:34,913 ERROR [stderr] (http-/127.0.0.1:8080-3)    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:653)
12:37:34,913 ERROR [stderr] (http-/127.0.0.1:8080-3)    at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:920)
12:37:34,913 ERROR [stderr] (http-/127.0.0.1:8080-3)    at java.lang.Thread.run(Thread.java:722)
12:37:34,913 ERROR [stderr] (http-/127.0.0.1:8080-3) Caused by: org.hibernate.exception.SQLGrammarException: could not execute query
12:37:34,913 ERROR [stderr] (http-/127.0.0.1:8080-3)    at org.hibernate.exception.internal.SQLStateConversionDelegate.convert(SQLStateConversionDelegate.java:122)
12:37:34,913 ERROR [stderr] (http-/127.0.0.1:8080-3)    at org.hibernate.exception.internal.StandardSQLExceptionConverter.convert(StandardSQLExceptionConverter.java:49)
12:37:34,914 ERROR [stderr] (http-/127.0.0.1:8080-3)    at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:125)
12:37:34,914 ERROR [stderr] (http-/127.0.0.1:8080-3)    at org.hibernate.loader.Loader.doList(Loader.java:2519)
12:37:34,914 ERROR [stderr] (http-/127.0.0.1:8080-3)    at org.hibernate.loader.Loader.doList(Loader.java:2502)
12:37:34,914 ERROR [stderr] (http-/127.0.0.1:8080-3)    at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2332)
12:37:34,914 ERROR [stderr] (http-/127.0.0.1:8080-3)    at org.hibernate.loader.Loader.list(Loader.java:2327)
12:37:34,914 ERROR [stderr] (http-/127.0.0.1:8080-3)    at org.hibernate.loader.custom.CustomLoader.list(CustomLoader.java:338)
12:37:34,914 ERROR [stderr] (http-/127.0.0.1:8080-3)    at org.hibernate.internal.SessionImpl.listCustomQuery(SessionImpl.java:1826)
12:37:34,914 ERROR [stderr] (http-/127.0.0.1:8080-3)    at org.hibernate.internal.AbstractSessionImpl.list(AbstractSessionImpl.java:231)
12:37:34,915 ERROR [stderr] (http-/127.0.0.1:8080-3)    at org.hibernate.internal.SQLQueryImpl.list(SQLQueryImpl.java:157)
12:37:34,915 ERROR [stderr] (http-/127.0.0.1:8080-3)    at org.hibernate.ejb.QueryImpl.getResultList(QueryImpl.java:264)
12:37:34,915 ERROR [stderr] (http-/127.0.0.1:8080-3)    ... 18 more
12:37:34,915 ERROR [stderr] (http-/127.0.0.1:8080-3) Caused by: java.sql.SQLException: Column 'salary' not found.
12:37:34,915 ERROR [stderr] (http-/127.0.0.1:8080-3)    at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1086)
12:37:34,915 ERROR [stderr] (http-/127.0.0.1:8080-3)    at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:989)
12:37:34,915 ERROR [stderr] (http-/127.0.0.1:8080-3)    at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:975)
12:37:34,916 ERROR [stderr] (http-/127.0.0.1:8080-3)    at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:920)
12:37:34,916 ERROR [stderr] (http-/127.0.0.1:8080-3)    at com.mysql.jdbc.ResultSetImpl.findColumn(ResultSetImpl.java:1163)
12:37:34,916 ERROR [stderr] (http-/127.0.0.1:8080-3)    at com.mysql.jdbc.ResultSetImpl.getString(ResultSetImpl.java:5729)
12:37:34,916 ERROR [stderr] (http-/127.0.0.1:8080-3)    at org.jboss.jca.adapters.jdbc.WrappedResultSet.getString(WrappedResultSet.java:1381)
12:37:34,916 ERROR [stderr] (http-/127.0.0.1:8080-3)    at org.hibernate.type.descriptor.sql.VarcharTypeDescriptor$2.doExtract(VarcharTypeDescriptor.java:66)
12:37:34,916 ERROR [stderr] (http-/127.0.0.1:8080-3)    at org.hibernate.type.descriptor.sql.BasicExtractor.extract(BasicExtractor.java:65)
12:37:34,916 ERROR [stderr] (http-/127.0.0.1:8080-3)    at org.hibernate.type.AbstractStandardBasicType.nullSafeGet(AbstractStandardBasicType.java:261)
12:37:34,916 ERROR [stderr] (http-/127.0.0.1:8080-3)    at org.hibernate.type.AbstractStandardBasicType.nullSafeGet(AbstractStandardBasicType.java:257)
12:37:34,917 ERROR [stderr] (http-/127.0.0.1:8080-3)    at org.hibernate.type.AbstractStandardBasicType.nullSafeGet(AbstractStandardBasicType.java:247)
12:37:34,917 ERROR [stderr] (http-/127.0.0.1:8080-3)    at org.hibernate.type.AbstractStandardBasicType.hydrate(AbstractStandardBasicType.java:332)
12:37:34,917 ERROR [stderr] (http-/127.0.0.1:8080-3)    at org.hibernate.persister.entity.AbstractEntityPersister.hydrate(AbstractEntityPersister.java:2903)
12:37:34,917 ERROR [stderr] (http-/127.0.0.1:8080-3)    at org.hibernate.loader.Loader.loadFromResultSet(Loader.java:1668)
12:37:34,917 ERROR [stderr] (http-/127.0.0.1:8080-3)    at org.hibernate.loader.Loader.instanceNotYetLoaded(Loader.java:1600)
12:37:34,917 ERROR [stderr] (http-/127.0.0.1:8080-3)    at org.hibernate.loader.Loader.getRow(Loader.java:1500)
12:37:34,917 ERROR [stderr] (http-/127.0.0.1:8080-3)    at org.hibernate.loader.Loader.getRowFromResultSet(Loader.java:712)
12:37:34,918 ERROR [stderr] (http-/127.0.0.1:8080-3)    at org.hibernate.loader.Loader.processResultSet(Loader.java:940)
12:37:34,918 ERROR [stderr] (http-/127.0.0.1:8080-3)    at org.hibernate.loader.Loader.doQuery(Loader.java:910)
12:37:34,918 ERROR [stderr] (http-/127.0.0.1:8080-3)    at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:341)
12:37:34,918 ERROR [stderr] (http-/127.0.0.1:8080-3)    at org.hibernate.loader.Loader.doList(Loader.java:2516)
12:37:34,918 ERROR [stderr] (http-/127.0.0.1:8080-3)    ... 26 more

Environment

  • Red Hat JBoss Enterprise Application Platform (EAP)
    • 6.x
  • Java Persistance API (JPA)
    • 2.x

Subscriber exclusive content

A Red Hat subscription provides unlimited access to our knowledgebase of over 48,000 articles and solutions.

Current Customers and Partners

Log in for full access

Log In
Close

Welcome! Check out the Getting Started with Red Hat page for quick tours and guides for common tasks.