我得到以下错误: 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) at 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(未知来源) at 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(未知来源) at 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个
我的create table语句如下: CREATE TABLE UserRegistrationBean( id整数默认生成为identity NOT NULL, user_name varchar(20)NOT NULL, password varchar(20)NOT NULL, email varchar(45)NOT NULL, securityQuestion varchar(50)NOT NULL, securityAnswer varchar(50)NOT NULL, PRIMARY KEY(id) );
请提供建议,因为我无法通过互联网找到任何解决方法。
答案 0 :(得分:0)
该错误表示您的CREATE TABLE语句未在您的数据库上执行。如果关闭内存数据库,然后尝试插入内存数据库,就会发生这种情况。
虽然与此问题无关,但请使用最新版本的HSQLDB,而不是快照版本。