Hi, if you want to use hibernate add <provider>org.hibernate.ejb.HibernatePersistence</provider>
and hibernate jars in your app. if not use openjpa properties to create databases + check your datasource config in tomee.xml Romain Manni-Bucau Twitter: @rmannibucau Blog: http://rmannibucau.wordpress.com/ LinkedIn: http://fr.linkedin.com/in/rmannibucau Github: https://github.com/rmannibucau 2013/4/8 renz8 <[email protected]> > > Can someone please tell my what other causes this exception? > > <openjpa-2.2.0-r422266:1244990 fatal general error> > org.apache.openjpa.persistence.PersistenceException: The transaction has > been rolled back. See the nested exceptions for details on the errors that > occurred. > at > org.apache.openjpa.kernel.BrokerImpl.newFlushException(BrokerImpl.java:2337) > at org.apache.openjpa.kernel.BrokerImpl.flush(BrokerImpl.java:2174) > at org.apache.openjpa.kernel.BrokerImpl.flushSafe(BrokerImpl.java:2072) > at > org.apache.openjpa.kernel.BrokerImpl.beforeCompletion(BrokerImpl.java:1990) > at > org.apache.geronimo.transaction.manager.TransactionImpl.beforeCompletion(TransactionImpl.java:527) > at > org.apache.geronimo.transaction.manager.TransactionImpl.beforeCompletion(TransactionImpl.java:512) > at > org.apache.geronimo.transaction.manager.TransactionImpl.beforePrepare(TransactionImpl.java:413) > at > org.apache.geronimo.transaction.manager.TransactionImpl.commit(TransactionImpl.java:262) > at > org.apache.geronimo.transaction.manager.TransactionManagerImpl.commit(TransactionManagerImpl.java:252) > at > org.apache.openejb.core.transaction.JtaTransactionPolicy.completeTransaction(JtaTransactionPolicy.java:328) > at > org.apache.openejb.core.transaction.TxRequired.commit(TxRequired.java:75) > at > org.apache.openejb.core.transaction.EjbTransactionUtil.afterInvoke(EjbTransactionUtil.java:73) > at > org.apache.openejb.core.singleton.SingletonContainer._invoke(SingletonContainer.java:262) > at > org.apache.openejb.core.singleton.SingletonContainer.invoke(SingletonContainer.java:211) > at > org.apache.openejb.core.ivm.EjbObjectProxyHandler.synchronizedBusinessMethod(EjbObjectProxyHandler.java:253) > at > org.apache.openejb.core.ivm.EjbObjectProxyHandler.businessMethod(EjbObjectProxyHandler.java:248) > at > org.apache.openejb.core.ivm.EjbObjectProxyHandler._invoke(EjbObjectProxyHandler.java:92) > at > org.apache.openejb.core.ivm.BaseEjbProxyHandler.invoke(BaseEjbProxyHandler.java:279) > at > com.sprasia.rest.dao.nstudio.AccountDao$LocalBeanProxy.makePersistent(com/sprasia/rest/dao/nstudio/AccountDao.java) > at > com.sprasia.rest.dao.nstudio.AccountDaoTest.testMakePersistent(AccountDaoTest.java:43) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) > at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) > at java.lang.reflect.Method.invoke(Unknown Source) > at > org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44) > at > org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15) > at > org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41) > at > org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20) > at > org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28) > at > org.junit.runners.BlockJUnit4ClassRunner.runNotIgnored(BlockJUnit4ClassRunner.java:79) > at > org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:71) > at > org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:49) > at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193) > at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52) > at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191) > at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42) > at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184) > at > org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28) > at > org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31) > at org.junit.runners.ParentRunner.run(ParentRunner.java:236) > 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: <openjpa-2.2.0-r422266:1244990 fatal general error> > org.apache.openjpa.persistence.PersistenceException: user lacks privilege or > object not found: DTB_ACCOUNT {INSERT INTO xxx (....) VALUES (?, ?, ?, ?, ?, > ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)} [code=-5501, state=42501] > at org.apache.openjpa.jdbc.sql.DBDictionary.narrow(DBDictionary.java:4918) > at > org.apache.openjpa.jdbc.sql.DBDictionary.newStoreException(DBDictionary.java:4878) > at > org.apache.openjpa.jdbc.sql.HSQLDictionary.newStoreException(HSQLDictionary.java:376) > at > org.apache.openjpa.jdbc.sql.SQLExceptions.getStore(SQLExceptions.java:136) > at > org.apache.openjpa.jdbc.sql.SQLExceptions.getStore(SQLExceptions.java:110) > at > org.apache.openjpa.jdbc.sql.SQLExceptions.getStore(SQLExceptions.java:62) > at > org.apache.openjpa.jdbc.kernel.PreparedStatementManagerImpl.flush(PreparedStatementManagerImpl.java:89) > at > org.apache.openjpa.jdbc.kernel.ConstraintUpdateManager.flush(ConstraintUpdateManager.java:550) > at > org.apache.openjpa.jdbc.kernel.ConstraintUpdateManager.flush(ConstraintUpdateManager.java:106) > at > org.apache.openjpa.jdbc.kernel.BatchingConstraintUpdateManager.flush(BatchingConstraintUpdateManager.java:59) > at > org.apache.openjpa.jdbc.kernel.AbstractUpdateManager.flush(AbstractUpdateManager.java:103) > at > org.apache.openjpa.jdbc.kernel.AbstractUpdateManager.flush(AbstractUpdateManager.java:76) > at > org.apache.openjpa.jdbc.kernel.JDBCStoreManager.flush(JDBCStoreManager.java:713) > at > org.apache.openjpa.kernel.DelegatingStoreManager.flush(DelegatingStoreManager.java:131) > ... 45 more > Caused by: org.apache.openjpa.lib.jdbc.ReportingSQLException: user lacks > privilege or object not found: DTB_ACCOUNT {INSERT INTO xxxx ( ..... e) > VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)} [code=-5501, > state=42501] > at > org.apache.openjpa.lib.jdbc.LoggingConnectionDecorator.wrap(LoggingConnectionDecorator.java:247) > at > org.apache.openjpa.lib.jdbc.LoggingConnectionDecorator.wrap(LoggingConnectionDecorator.java:227) > at > org.apache.openjpa.lib.jdbc.LoggingConnectionDecorator.access$000(LoggingConnectionDecorator.java:72) > at > org.apache.openjpa.lib.jdbc.LoggingConnectionDecorator$LoggingConnection.prepareStatement(LoggingConnectionDecorator.java:550) > at > org.apache.openjpa.lib.jdbc.DelegatingConnection.prepareStatement(DelegatingConnection.java:448) > at > org.apache.openjpa.lib.jdbc.DelegatingConnection.prepareStatement(DelegatingConnection.java:448) > at > org.apache.openjpa.lib.jdbc.DelegatingConnection.prepareStatement(DelegatingConnection.java:441) > at > org.apache.openjpa.jdbc.kernel.PreparedStatementManagerImpl.prepareStatement(PreparedStatementManagerImpl.java:287) > at > org.apache.openjpa.jdbc.kernel.PreparedStatementManagerImpl.flushAndUpdate(PreparedStatementManagerImpl.java:112) > at > org.apache.openjpa.jdbc.kernel.BatchingPreparedStatementManagerImpl.flushAndUpdate(BatchingPreparedStatementManagerImpl.java:79) > at > org.apache.openjpa.jdbc.kernel.PreparedStatementManagerImpl.flushInternal(PreparedStatementManagerImpl.java:99) > at > org.apache.openjpa.jdbc.kernel.PreparedStatementManagerImpl.flush(PreparedStatementManagerImpl.java:87) > > I've already set up connection in tomee.xml.. > I've also set properties, datasource, persistence-unit and classes in my > persistence.xml > > <persistence-unit name="MyRestApi" transaction-type="JTA"> > <jta-data-source>MyDatasource</jta-data-source> > <class>com.my.entity.PersonBean</class> > <properties> > <property name="hibernate.dialect" > value="org.hibernate.dialect.MySQLDialect"/> > <property name="hibernate.hbm2ddl.auto" value="insert, update, > read, delete" /> > <property name="hibernate.show_sql" value="true" /> > </properties> > > What else do i need to do? > > > > > > -- > View this message in context: http://openejb.979440.n4.nabble.com/org-apache-openjpa-persistence-PersistenceException-user-lacks-privilege-or-object-not-found-tp4662083.html > Sent from the OpenEJB User mailing list archive at Nabble.com.
