2012-07-19 43 views
2

找不到對象我有一個問題,當我使用JUnit:用戶缺少特權或使用JUnit

Hibernate: SELECT COUNT(0) FROM group 
DEBUG - SqlExceptionHelper   - user lacks privilege or object not found: GROUP [n/a] 
java.sql.SQLSyntaxErrorException: user lacks privilege or object not found: GROUP 
at org.hsqldb.jdbc.Util.sqlException(Unknown Source) 
at org.hsqldb.jdbc.Util.sqlException(Unknown Source) 
at org.hsqldb.jdbc.JDBCStatement.fetchResult(Unknown Source) 
at org.hsqldb.jdbc.JDBCStatement.executeQuery(Unknown Source) 
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) 
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 
at java.lang.reflect.Method.invoke(Method.java:597) 
at org.hibernate.engine.jdbc.internal.proxy.AbstractStatementProxyHandler.continueInvocation(AbstractStatementProxyHandler.java:122) 
at org.hibernate.engine.jdbc.internal.proxy.AbstractProxyHandler.invoke(AbstractProxyHandler.java:81) 
at $Proxy46.executeQuery(Unknown Source) 
at org.springframework.jdbc.core.JdbcTemplate$1QueryStatementCallback.doInStatement(JdbcTemplate.java:441) 
at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:396) 
at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:456) 
at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:464) 
at org.springframework.jdbc.core.JdbcTemplate.queryForObject(JdbcTemplate.java:472) 
at org.springframework.jdbc.core.JdbcTemplate.queryForObject(JdbcTemplate.java:477) 
at org.springframework.jdbc.core.JdbcTemplate.queryForInt(JdbcTemplate.java:486) 
at org.springframework.jdbc.core.simple.SimpleJdbcTemplate.queryForInt(SimpleJdbcTemplate.java:117) 
at org.springframework.test.jdbc.SimpleJdbcTestUtils.countRowsInTable(SimpleJdbcTestUtils.java:56) 
at org.springframework.test.context.junit4.AbstractTransactionalJUnit4SpringContextTests.countRowsInTable(AbstractTransactionalJUnit4SpringContextTests.java:115) 
at fr.neosoft.neocommunity.dao.group.GroupTest.testSave(GroupTest.java:68) 
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) 
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 
at java.lang.reflect.Method.invoke(Method.java:597) 
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:45) 
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15) 
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:42) 
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20) 
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28) 
at org.springframework.test.context.junit4.statements.RunBeforeTestMethodCallbacks.evaluate(RunBeforeTestMethodCallbacks.java:74) 
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:30) 
at org.springframework.test.context.junit4.statements.RunAfterTestMethodCallbacks.evaluate(RunAfterTestMethodCallbacks.java:83) 
at org.springframework.test.context.junit4.statements.SpringRepeat.evaluate(SpringRepeat.java:72) 
at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:231) 
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:47) 
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:231) 
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:60) 
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:229) 
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:50) 
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:222) 
at org.springframework.test.context.junit4.statements.RunBeforeTestClassCallbacks.evaluate(RunBeforeTestClassCallbacks.java:61) 
at org.springframework.test.context.junit4.statements.RunAfterTestClassCallbacks.evaluate(RunAfterTestClassCallbacks.java:71) 
at org.junit.runners.ParentRunner.run(ParentRunner.java:300) 
at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.run(SpringJUnit4ClassRunner.java:174) 
at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:50) 
at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38) 
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467) 
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683) 
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390) 
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197) 
Caused by: org.hsqldb.HsqlException: user lacks privilege or object not found: GROUP 
at org.hsqldb.error.Error.error(Unknown Source) 
at org.hsqldb.error.Error.error(Unknown Source) 
at org.hsqldb.SchemaManager.getTable(Unknown Source) 
at org.hsqldb.ParserDQL.readTableName(Unknown Source) 
at org.hsqldb.ParserDQL.readTableOrSubquery(Unknown Source) 
at org.hsqldb.ParserDQL.XreadTableReference(Unknown Source) 
at org.hsqldb.ParserDQL.XreadFromClause(Unknown Source) 
at org.hsqldb.ParserDQL.XreadTableExpression(Unknown Source) 
at org.hsqldb.ParserDQL.XreadQuerySpecification(Unknown Source) 
at org.hsqldb.ParserDQL.XreadSimpleTable(Unknown Source) 
at org.hsqldb.ParserDQL.XreadQueryPrimary(Unknown Source) 
at org.hsqldb.ParserDQL.XreadQueryTerm(Unknown Source) 
at org.hsqldb.ParserDQL.XreadQueryExpressionBody(Unknown Source) 
at org.hsqldb.ParserDQL.XreadQueryExpression(Unknown Source) 
at org.hsqldb.ParserDQL.compileCursorSpecification(Unknown Source) 
at org.hsqldb.ParserCommand.compilePart(Unknown Source) 
at org.hsqldb.ParserCommand.compileStatements(Unknown Source) 
at org.hsqldb.Session.executeDirectStatement(Unknown Source) 
at org.hsqldb.Session.execute(Unknown Source) 
... 50 more 
WARN - SqlExceptionHelper   - SQL Error: -5501, SQLState: 42501 
ERROR - SqlExceptionHelper   - user lacks privilege or object not found: GROUP 

這是隻爲我的實體之一。對其他人的測試是可以的,但不適合這個。

我使用Hibernate 4,我要看看我的實體或其他任何JUnit 4中,彈簧3和JPA 2

,我可以將它張貼。

謝謝您的幫助

回答

5

集團是HSQLDB保留字,如documentation說。不要將保留字用作表格的名稱。

您可以控制表的名稱與@Table註釋:

@Entity 
@Table(name="some_other_descriptive_name") 
public class Group { 
... 
} 
+0

好的,謝謝你,我會做到這一點。 – Vinc3nt 2012-07-19 09:05:40

+0

它的工作原理,謝謝 – Vinc3nt 2012-07-19 09:38:52

+0

有什麼辦法可以配置HSQLDB,以便我可以使用「GROUP」作爲表名? – TheKojuEffect 2014-07-03 07:17:22

相關問題