使用hsnate3.1.3使用hsqldb(hsqldb-20130206.203335-33)在数据库中插入/选择时出错

时间:2013-09-07 20:52:04

标签: hibernate hsqldb

我得到以下错误: 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) );

请提供建议,因为我无法通过互联网找到任何解决方法。

1 个答案:

答案 0 :(得分:0)

该错误表示您的CREATE TABLE语句未在您的数据库上执行。如果关闭内存数据库,然后尝试插入内存数据库,就会发生这种情况。

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