【问题标题】:com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown column 'JDODETACHEDSTATE' in 'field list'com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException:“字段列表”中的未知列“JDODETACHEDSTATE”
【发布时间】:2015-08-15 04:49:09
【问题描述】:

在 Eclipse 中使用 Eclipse 持久性和 Google App Engine 时,我不断收到此错误。

下面是堆栈跟踪。请让我知道可能导致此问题的原因,因为该代码之前在 maven 中运行,没有任何问题。

 [EL Warning]: 2015-08-15 00:47:59.466--UnitOfWork(914108319)--Exception [EclipseLink-4002] (Eclipse Persistence Services - 2.4.2.v20130514-5956486): org.eclipse.persistence.exceptions.DatabaseException
    Internal Exception: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown column 'JDODETACHEDSTATE' in 'field list'
    Error Code: 1054
    Call: SELECT user_credential_id, JDODETACHEDSTATE, password, user_name, lecturer_id FROM user_credentials WHERE ((user_name = ?) AND (password = ?))
    bind => [2 parameters bound]
    Query: ReadAllQuery(referenceClass=UserCredential sql="SELECT user_credential_id, JDODETACHEDSTATE, password, user_name, lecturer_id FROM user_credentials WHERE ((user_name = ?) AND (password = ?))")
    Aug 15, 2015 12:47:59 AM com.mana.school.attendance.service.impl.LoginServiceImpl doLogin
    SEVERE: Exception while validating login

Local Exception Stack: 

    Exception [EclipseLink-4002] (Eclipse Persistence Services - 2.4.2.v20130514-5956486): org.eclipse.persistence.exceptions.DatabaseException
    Internal Exception: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown column 'JDODETACHEDSTATE' in 'field list'
    Error Code: 1054
    Call: SELECT user_credential_id, JDODETACHEDSTATE, password, user_name, lecturer_id FROM user_credentials WHERE ((user_name = ?) AND (password = ?))
    bind => [2 parameters bound]
    Query: ReadAllQuery(referenceClass=UserCredential sql="SELECT user_credential_id, JDODETACHEDSTATE, password, user_name, lecturer_id FROM user_credentials WHERE ((user_name = ?) AND (password = ?))")
    at org.eclipse.persistence.exceptions.DatabaseException.sqlException(DatabaseException.java:333)
    at org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.basicExecuteCall(DatabaseAccessor.java:646)
    at org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.executeCall(DatabaseAccessor.java:537)
    at org.eclipse.persistence.internal.sessions.AbstractSession.basicExecuteCall(AbstractSession.java:1805)
    at org.eclipse.persistence.sessions.server.ServerSession.executeCall(ServerSession.java:566)
    at org.eclipse.persistence.internal.queries.DatasourceCallQueryMechanism.executeCall(DatasourceCallQueryMechanism.java:207)
    at org.eclipse.persistence.internal.queries.DatasourceCallQueryMechanism.executeCall(DatasourceCallQueryMechanism.java:193)
    at org.eclipse.persistence.internal.queries.DatasourceCallQueryMechanism.executeSelectCall(DatasourceCallQueryMechanism.java:264)
    at org.eclipse.persistence.internal.queries.DatasourceCallQueryMechanism.selectAllRows(DatasourceCallQueryMechanism.java:648)
    at org.eclipse.persistence.internal.queries.ExpressionQueryMechanism.selectAllRowsFromTable(ExpressionQueryMechanism.java:2706)
    at org.eclipse.persistence.internal.queries.ExpressionQueryMechanism.selectAllRows(ExpressionQueryMechanism.java:2659)
    at org.eclipse.persistence.queries.ReadAllQuery.executeObjectLevelReadQuery(ReadAllQuery.java:421)
    at org.eclipse.persistence.queries.ObjectLevelReadQuery.executeDatabaseQuery(ObjectLevelReadQuery.java:1150)
    at org.eclipse.persistence.queries.DatabaseQuery.execute(DatabaseQuery.java:852)
    at org.eclipse.persistence.queries.ObjectLevelReadQuery.execute(ObjectLevelReadQuery.java:1109)
    at org.eclipse.persistence.queries.ReadAllQuery.execute(ReadAllQuery.java:393)
    at org.eclipse.persistence.queries.ObjectLevelReadQuery.executeInUnitOfWork(ObjectLevelReadQuery.java:1197)
    at org.eclipse.persistence.internal.sessions.UnitOfWorkImpl.internalExecuteQuery(UnitOfWorkImpl.java:2879)
    at org.eclipse.persistence.internal.sessions.AbstractSession.executeQuery(AbstractSession.java:1607)
    at org.eclipse.persistence.internal.sessions.AbstractSession.executeQuery(AbstractSession.java:1589)
    at org.eclipse.persistence.internal.sessions.AbstractSession.executeQuery(AbstractSession.java:1554)
    at org.eclipse.persistence.internal.jpa.QueryImpl.executeReadQuery(QueryImpl.java:231)
    at org.eclipse.persistence.internal.jpa.QueryImpl.getSingleResult(QueryImpl.java:442)
    at org.eclipse.persistence.internal.jpa.EJBQueryImpl.getSingleResult(EJBQueryImpl.java:382)
    at com.mana.school.attendance.dao.impl.UserCredentialDAOImpl.validateLogin(UserCredentialDAOImpl.java:60)
    at com.mana.school.attendance.service.impl.LoginServiceImpl.doLogin(LoginServiceImpl.java:49)
    at com.mana.school.attendance.web.LoginServlet.performLogin(LoginServlet.java:132)
    at com.mana.school.attendance.web.LoginServlet.service(LoginServlet.java:63)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:511)
    at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1166)
    at com.google.appengine.api.socket.dev.DevSocketFilter.doFilter(DevSocketFilter.java:74)
    at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
    at com.google.appengine.tools.development.ResponseRewriterFilter.doFilter(ResponseRewriterFilter.java:127)
    at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
    at com.google.appengine.tools.development.HeaderVerificationFilter.doFilter(HeaderVerificationFilter.java:34)
    at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
    at com.google.appengine.api.blobstore.dev.ServeBlobFilter.doFilter(ServeBlobFilter.java:63)
    at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
    at com.google.apphosting.utils.servlet.TransactionCleanupFilter.doFilter(TransactionCleanupFilter.java:43)
    at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
    at com.google.appengine.tools.development.StaticFileFilter.doFilter(StaticFileFilter.java:125)
    at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
    at com.google.appengine.tools.development.DevAppServerModulesFilter.doDirectRequest(DevAppServerModulesFilter.java:366)
    at com.google.appengine.tools.development.DevAppServerModulesFilter.doDirectModuleRequest(DevAppServerModulesFilter.java:349)
    at com.google.appengine.tools.development.DevAppServerModulesFilter.doFilter(DevAppServerModulesFilter.java:116)
    at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
    at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:388)
    at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
    at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:182)
    at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:765)
    at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:418)
    at com.google.appengine.tools.development.DevAppEngineWebAppContext.handle(DevAppEngineWebAppContext.java:98)
    at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
    at com.google.appengine.tools.development.JettyContainerService$ApiProxyHandler.handle(JettyContainerService.java:502)
    at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
    at org.mortbay.jetty.Server.handle(Server.java:326)
    at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:542)
    at org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:938)
    at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:755)
    at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:218)
    at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)
    at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:409)
    at org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:582)

【问题讨论】:

  • 你可以花一些精力来格式化它。
  • 第一次在这里发,不习惯格式化工具。我现在编辑了。
  • 因此,从查询语句中删除 JDODETACHEDSTATE 应该可以解决问题,因为问题是由它引起的,并且您提到您不需要此列。

标签: java mysql eclipse google-app-engine jdbc


【解决方案1】:

您在表user_credentials 中没有名为JDODETACHEDSTATE 的列

【讨论】:

  • 我不要这个栏目,为什么会有呢?实体类没有它们。我是否需要更改某些配置或编辑某些内容。如果您知道任何解决方案,请告诉我。
【解决方案2】:

Javy 是对的,您所指的表格中没有这样的列

以您的选择查询为例

SELECT user_credential_id`, JDODETACHEDSTATE`, password, user_name, lecturer_id FROM user_credentials WHERE ((user_name = ?) AND (password = ?))
    bind => 

您的 user_credentials 表中不存在 JDODETACHEDSTATE,请检查该表,如果没有必要,请从选择查询本身中删除该字段。

【讨论】:

    猜你喜欢
    • 2013-02-27
    • 2017-06-27
    • 2016-10-07
    • 2014-07-19
    • 2018-05-15
    • 2012-10-13
    • 2015-03-04
    • 2018-05-12
    • 2015-05-28
    相关资源
    最近更新 更多