【问题标题】:Error while inserting/selecting in database , using hsqldb (hsqldb-20130206.203335-33) with hibernate3.1.3在数据库中插入/选择时出错,使用带有 hibernate3.1.3 的 hsqldb (hsqldb-20130206.203335-33)
【发布时间】:2013-09-11 17:40:59
【问题描述】:

我得到以下错误: org.hibernate.exception.SQLGrammarException:无法执行查询 在 org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:90) 在 org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:66) 在 org.hibernate.loader.Loader.doList(Loader.java:2231) 在 org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2125) 在 org.hibernate.loader.Loader.list(Loader.java:2120) 在 org.hibernate.loader.hql.QueryLoader.list(QueryLoader.java:401) 在 org.hibernate.hql.ast.QueryTranslatorImpl.list(QueryTranslatorImpl.java:361) 在 org.hibernate.engine.query.HQLQueryPlan.performList(HQLQueryPlan.java:196) 在 org.hibernate.impl.SessionImpl.list(SessionImpl.java:1148) 在 org.hibernate.impl.QueryImpl.list(QueryImpl.java:102) 在 database.dao.UserDAO.getCustomerById(UserDAO.java:73) 在 database.dao.UserDAO.main(UserDAO.java:15) 引起:java.sql.SQLSyntaxErrorException:用户缺少权限或找不到对象:USERREGISTRATIONBEAN 在 org.hsqldb.jdbc.JDBCUtil.sqlException(未知来源) 在 org.hsqldb.jdbc.JDBCUtil.sqlException(未知来源) 在 org.hsqldb.jdbc.JDBCPreparedStatement。(未知来源) 在 org.hsqldb.jdbc.JDBCConnection.prepareStatement(未知来源) 在 org.hibernate.jdbc.AbstractBatcher.getPreparedStatement(AbstractBatcher.java:534) 在 org.hibernate.jdbc.AbstractBatcher.getPreparedStatement(AbstractBatcher.java:452) 在 org.hibernate.jdbc.AbstractBatcher.prepareQueryStatement(AbstractBatcher.java:161) 在 org.hibernate.loader.Loader.prepareQueryStatement(Loader.java:1573) 在 org.hibernate.loader.Loader.doQuery(Loader.java:696) 在 org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:259) 在 org.hibernate.loader.Loader.doList(Loader.java:2228) ... 9 更多 引起:org.hsqldb.HsqlException:用户缺少权限或找不到对象:USERREGISTRATIONBEAN 在 org.hsqldb.error.Error.error(未知来源) 在 org.hsqldb.error.Error.error(未知来源) 在 org.hsqldb.SchemaManager.getTable(未知来源) 在 org.hsqldb.ParserDQL.readTableName(未知来源) 在 org.hsqldb.ParserDQL.readTableOrSubquery(未知来源) 在 org.hsqldb.ParserDQL.XreadTableReference(未知来源) 在 org.hsqldb.ParserDQL.XreadFromClause(未知来源) 在 org.hsqldb.ParserDQL.XreadTableExpression(未知来源) 在 org.hsqldb.ParserDQL.XreadQuerySpecification(未知来源) 在 org.hsqldb.ParserDQL.XreadSimpleTable(未知来源) 在 org.hsqldb.ParserDQL.XreadQueryPrimary(未知来源) 在 org.hsqldb.ParserDQL.XreadQueryTerm(未知来源) 在 org.hsqldb.ParserDQL.XreadQueryExpressionBody(未知来源) 在 org.hsqldb.ParserDQL.XreadQueryExpression(未知来源) 在 org.hsqldb.ParserDQL.compileCursorSpecification(未知来源) 在 org.hsqldb.ParserCommand.compilePart(未知来源) 在 org.hsqldb.ParserCommand.compileStatement(未知来源) 在 org.hsqldb.Session.compileStatement(未知来源) 在 org.hsqldb.StatementManager.compile(未知来源) 在 org.hsqldb.Session.execute(未知来源) ... 18 更多

我的创建表语句如下: 创建表 UserRegistrationBean( id 整数默认生成为标识 NOT NULL, 用户名 varchar(20) 非空, 密码 varchar(20) NOT NULL, 电子邮件 varchar(45) 非空, securityQuestion varchar(50) NOT NULL, securityAnswer varchar(50) NOT NULL, 主键(id) ) ;

请指教,因为我在互联网上找不到任何可以解决的问题。

【问题讨论】:

    标签: hibernate hsqldb


    【解决方案1】:

    该错误意味着您的 CREATE TABLE 语句没有在您的数据库上执行。如果您关闭内存数据库,然后尝试将其插入,则可能会发生这种情况。

    虽然与此问题无关,但请使用 HSQLDB 的最新发布版本,而不是快照版本。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-07-22
      • 2014-04-09
      • 1970-01-01
      • 2018-09-04
      • 1970-01-01
      • 2013-01-11
      • 2014-12-26
      • 1970-01-01
      相关资源
      最近更新 更多