You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@openjpa.apache.org by wlad <vv...@yahoo.com> on 2013/10/17 14:33:22 UTC

Persistence.xml configuration, OpenJPA not mapping entities to mysql db

Hi,
I am (new to JEE) working with: EJB3, Apache TomEE plus 1.5.2, openjpa as
persistence provider, MySQL database,  Eclipse IDE.
I'm trying to run simple EJB with JPA example but getting this error:

"<openjpa-2.2.0-r422266:1244990 nonfatal general error>
org.apache.openjpa.persistence.PersistenceException: unexpected token:
AUTO_INCREMENT {stmnt 15634609 CREATE TABLE gorivo (gorivo_id INTEGER NOT
NULL AUTO_INCREMENT, gorivo_tip VARCHAR(255) NOT NULL, PRIMARY KEY
(gorivo_id), UNIQUE U_GORIVO_GORIVO_ID (gorivo_id)) ENGINE = innodb}
[code=-5581, state=42581]
	at org.apache.openjpa.jdbc.meta.MappingTool.record(MappingTool.java:559)
	at org.apache.openjpa.jdbc.meta.MappingTool.record(MappingTool.java:455)
	at
org.apache.openjpa.jdbc.kernel.JDBCBrokerFactory.synchronizeMappings(JDBCBrokerFactory.java:160)
	at
org.apache.openjpa.jdbc.kernel.JDBCBrokerFactory.synchronizeMappings(JDBCBrokerFactory.java:164)
	at
org.apache.openjpa.jdbc.kernel.JDBCBrokerFactory.newBrokerImpl(JDBCBrokerFactory.java:122)
	at
org.apache.openjpa.kernel.AbstractBrokerFactory.newBroker(AbstractBrokerFactory.java:209)
	at
org.apache.openjpa.kernel.DelegatingBrokerFactory.newBroker(DelegatingBrokerFactory.java:156)
	at
org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:227)
	at
org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:154)
	......
"

The example should demonstrate creating and deploying an EJB bean to a
server, accessing it using its JNDI name, and calling its method (persist,
update, remove, list some entities).
>From what I understood is that annotated entities in the project should
map/create mysql db tables if it is configured in persistence.xml file. 

When I deploy this project (as jar) to TomEE server, and start TomEE,
openjpa does not create/map entities to mysql tables (no tables in mysql
when i check it from terminal).
I am not sure have I configured persistence.xml correctly, where persistence
unit looks like this:

  <persistence-unit name="Vezbe07Primer02"
transaction-type="RESOURCE_LOCAL">
   
<provider>org.apache.openjpa.persistence.PersistenceProviderImpl</provider>
    <properties>

      <property name="openjpa.ConnectionURL"
value="jdbc:mysql://localhost:3306/xyDB"/>
      <property name="openjpa.ConnectionDriverName"
value="com.mysql.jdbc.Driver"/>
      <property name="openjpa.ConnectionUserName" value="root"/>
      <property name="openjpa.ConnectionPassword" value="123"/>
    
      <property name="openjpa.jdbc.SynchronizeMappings"
value="buildSchema(ForeignKeys=true)" />
      <property name="openjpa.jdbc.DBDictionary" value="mysql" />
      <property name="openjpa.Log" value="DefaultLevel=WARN, Tool=INFO" />
    </properties>
  </persistence-unit>

I believe this should be due some obvious setting i am missing, or not doing
correctly. 
Appreciate any help or advice.



--
View this message in context: http://openjpa.208410.n2.nabble.com/Persistence-xml-configuration-OpenJPA-not-mapping-entities-to-mysql-db-tp7585208.html
Sent from the OpenJPA Users mailing list archive at Nabble.com.

Re: Persistence.xml configuration, OpenJPA not mapping entities to mysql db

Posted by wlad <vv...@yahoo.com>.
MY FAULT, STILL LEARNING. Don't bother yourself about this. I have just
figured out how to properly use persistence.xml with non-jta-data-source. In
above post I haven't configured data source, and my persistence.xml was not
valid for use with non-jta-data-source. 

Now, I have defined data source in <tomee>/conf/tomee.xml as:

<Resource id="mySQLDataSource" type="DataSource">
    JdbcDriver          com.mysql.jdbc.Driver
    JdbcUrl             jdbc:mysql://127.0.0.1:3306/xyDB
    UserName            root
    Password        	123
    JtaManaged      false
    DefaultAutoCommit   false
</Resource>

Also, persistence unit was being removed during server startup (got WARNING
messages), because its connection properties  were "not valid in a container
environment". 

So, with defined datasource (above), persistence unit in persistence.xml
looks like:

  <persistence-unit name="Vezbe07Primer02"
transaction-type="RESOURCE_LOCAL">
   
<provider>org.apache.openjpa.persistence.PersistenceProviderImpl</provider>

	<non-jta-data-source>mySQLDataSource</non-jta-data-source>

    <properties>
      <property name="openjpa.jdbc.SynchronizeMappings"
value="buildSchema(ForeignKeys=true)" />
      <property name="openjpa.jdbc.DBDictionary" value="mysql" />
      <property name="openjpa.Log" value="DefaultLevel=WARN, Tool=INFO" />
    </properties>
  </persistence-unit>
  
</persistence>

With these configurations, I am getting mysql tables generated from
annotated entities.



--
View this message in context: http://openjpa.208410.n2.nabble.com/Persistence-xml-configuration-OpenJPA-not-mapping-entities-to-mysql-db-tp7585208p7585237.html
Sent from the OpenJPA Users mailing list archive at Nabble.com.

Re: Persistence.xml configuration, OpenJPA not mapping entities to mysql db

Posted by wlad <vv...@yahoo.com>.
Thanks for reply,

Michael Dick wrote
> Are there any chained exceptions? A nested SQLException might have a more
> helpful message.

This is full exception error log:

INFO: Deployed
Application(path=/home/vladimir/javatools/apache-tomee-plus-1.5.2/webapps/Vezbe07.jar)
<openjpa-2.2.0-r422266:1244990 nonfatal general error>
org.apache.openjpa.persistence.PersistenceException: unexpected token:
AUTO_INCREMENT {stmnt 18958118 CREATE TABLE gorivo (gorivo_id INTEGER NOT
NULL AUTO_INCREMENT, gorivo_tip VARCHAR(255) NOT NULL, PRIMARY KEY
(gorivo_id), UNIQUE U_GORIVO_GORIVO_ID (gorivo_id)) ENGINE = innodb}
[code=-5581, state=42581]
	at org.apache.openjpa.jdbc.meta.MappingTool.record(MappingTool.java:559)
	at org.apache.openjpa.jdbc.meta.MappingTool.record(MappingTool.java:455)
	at
org.apache.openjpa.jdbc.kernel.JDBCBrokerFactory.synchronizeMappings(JDBCBrokerFactory.java:160)
	at
org.apache.openjpa.jdbc.kernel.JDBCBrokerFactory.synchronizeMappings(JDBCBrokerFactory.java:164)
	at
org.apache.openjpa.jdbc.kernel.JDBCBrokerFactory.newBrokerImpl(JDBCBrokerFactory.java:122)
	at
org.apache.openjpa.kernel.AbstractBrokerFactory.newBroker(AbstractBrokerFactory.java:209)
	at
org.apache.openjpa.kernel.DelegatingBrokerFactory.newBroker(DelegatingBrokerFactory.java:156)
	at
org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:227)
	at
org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:154)
	at
org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:60)
	at
org.apache.openejb.assembler.classic.ReloadableEntityManagerFactory.createEntityManager(ReloadableEntityManagerFactory.java:145)
	at
rs.ac.uns.ftn.informatika.mbs2.vezbe07.primer02.server.session.TestBean.test(TestBean.java:31)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
	at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:616)
	at
org.apache.openejb.core.interceptor.ReflectionInvocationContext$Invocation.invoke(ReflectionInvocationContext.java:181)
	at
org.apache.openejb.core.interceptor.ReflectionInvocationContext.proceed(ReflectionInvocationContext.java:163)
	at org.apache.openejb.cdi.CdiInterceptor.invoke(CdiInterceptor.java:126)
	at org.apache.openejb.cdi.CdiInterceptor.access$000(CdiInterceptor.java:42)
	at org.apache.openejb.cdi.CdiInterceptor$1.call(CdiInterceptor.java:63)
	at
org.apache.openejb.cdi.CdiInterceptor.aroundInvoke(CdiInterceptor.java:69)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
	at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:616)
	at
org.apache.openejb.core.interceptor.ReflectionInvocationContext$Invocation.invoke(ReflectionInvocationContext.java:181)
	at
org.apache.openejb.core.interceptor.ReflectionInvocationContext.proceed(ReflectionInvocationContext.java:163)
	at
org.apache.openejb.monitoring.StatsInterceptor.record(StatsInterceptor.java:176)
	at
org.apache.openejb.monitoring.StatsInterceptor.invoke(StatsInterceptor.java:95)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
	at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:616)
	at
org.apache.openejb.core.interceptor.ReflectionInvocationContext$Invocation.invoke(ReflectionInvocationContext.java:181)
	at
org.apache.openejb.core.interceptor.ReflectionInvocationContext.proceed(ReflectionInvocationContext.java:163)
	at
org.apache.openejb.core.interceptor.InterceptorStack.invoke(InterceptorStack.java:138)
	at
org.apache.openejb.core.stateless.StatelessContainer._invoke(StatelessContainer.java:239)
	at
org.apache.openejb.core.stateless.StatelessContainer.invoke(StatelessContainer.java:191)
	at
org.apache.openejb.server.ejbd.EjbRequestHandler.doEjbObject_BUSINESS_METHOD(EjbRequestHandler.java:290)
	at
org.apache.openejb.server.ejbd.EjbRequestHandler.processRequest(EjbRequestHandler.java:140)
	at
org.apache.openejb.server.ejbd.EjbDaemon.processEjbRequest(EjbDaemon.java:267)
	at org.apache.openejb.server.ejbd.EjbDaemon.service(EjbDaemon.java:191)
	at org.apache.openejb.server.ejbd.EjbServer.service(EjbServer.java:81)
	at
org.apache.openejb.server.httpd.ServerServlet.service(ServerServlet.java:56)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
	at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
	at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
	at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
	at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
	at org.apache.tomee.catalina.OpenEJBValve.invoke(OpenEJBValve.java:45)
	at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
	at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
	at
org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:936)
	at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
	at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
	at
org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1004)
	at
org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)
	at
org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:312)
	at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1146)
	at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
	at java.lang.Thread.run(Thread.java:679)
Caused by: org.apache.openjpa.lib.jdbc.ReportingSQLException: unexpected
token: AUTO_INCREMENT {stmnt 18958118 CREATE TABLE gorivo (gorivo_id INTEGER
NOT NULL AUTO_INCREMENT, gorivo_tip VARCHAR(255) NOT NULL, PRIMARY KEY
(gorivo_id), UNIQUE U_GORIVO_GORIVO_ID (gorivo_id)) ENGINE = innodb}
[code=-5581, state=42581]
	at
org.apache.openjpa.lib.jdbc.LoggingConnectionDecorator.wrap(LoggingConnectionDecorator.java:247)
	at
org.apache.openjpa.lib.jdbc.LoggingConnectionDecorator.wrap(LoggingConnectionDecorator.java:231)
	at
org.apache.openjpa.lib.jdbc.LoggingConnectionDecorator.access$700(LoggingConnectionDecorator.java:72)
	at
org.apache.openjpa.lib.jdbc.LoggingConnectionDecorator$LoggingConnection$LoggingStatement.executeUpdate(LoggingConnectionDecorator.java:942)
	at
org.apache.openjpa.lib.jdbc.DelegatingStatement.executeUpdate(DelegatingStatement.java:114)
	at
org.apache.openjpa.jdbc.schema.SchemaTool.executeSQL(SchemaTool.java:1224)
	at
org.apache.openjpa.jdbc.schema.SchemaTool.createTable(SchemaTool.java:975)
	at org.apache.openjpa.jdbc.schema.SchemaTool.add(SchemaTool.java:551)
	at org.apache.openjpa.jdbc.schema.SchemaTool.add(SchemaTool.java:366)
	at org.apache.openjpa.jdbc.schema.SchemaTool.run(SchemaTool.java:343)
	at org.apache.openjpa.jdbc.meta.MappingTool.record(MappingTool.java:505)
	... 61 more
<openjpa-2.2.0-r422266:1244990 fatal store error>
org.apache.openjpa.persistence.RollbackException: The transaction has been
rolled back.  See the nested exceptions for details on the errors that
occurred.
	at
org.apache.openjpa.persistence.EntityManagerImpl.commit(EntityManagerImpl.java:594)
	at
rs.ac.uns.ftn.informatika.mbs2.vezbe07.primer02.server.session.TestBean.test(TestBean.java:62)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
	at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:616)
	at
org.apache.openejb.core.interceptor.ReflectionInvocationContext$Invocation.invoke(ReflectionInvocationContext.java:181)
	at
org.apache.openejb.core.interceptor.ReflectionInvocationContext.proceed(ReflectionInvocationContext.java:163)
	at org.apache.openejb.cdi.CdiInterceptor.invoke(CdiInterceptor.java:126)
	at org.apache.openejb.cdi.CdiInterceptor.access$000(CdiInterceptor.java:42)
	at org.apache.openejb.cdi.CdiInterceptor$1.call(CdiInterceptor.java:63)
	at
org.apache.openejb.cdi.CdiInterceptor.aroundInvoke(CdiInterceptor.java:69)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
	at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:616)
	at
org.apache.openejb.core.interceptor.ReflectionInvocationContext$Invocation.invoke(ReflectionInvocationContext.java:181)
	at
org.apache.openejb.core.interceptor.ReflectionInvocationContext.proceed(ReflectionInvocationContext.java:163)
	at
org.apache.openejb.monitoring.StatsInterceptor.record(StatsInterceptor.java:176)
	at
org.apache.openejb.monitoring.StatsInterceptor.invoke(StatsInterceptor.java:95)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
	at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:616)
	at
org.apache.openejb.core.interceptor.ReflectionInvocationContext$Invocation.invoke(ReflectionInvocationContext.java:181)
	at
org.apache.openejb.core.interceptor.ReflectionInvocationContext.proceed(ReflectionInvocationContext.java:163)
	at
org.apache.openejb.core.interceptor.InterceptorStack.invoke(InterceptorStack.java:138)
	at
org.apache.openejb.core.stateless.StatelessContainer._invoke(StatelessContainer.java:239)
	at
org.apache.openejb.core.stateless.StatelessContainer.invoke(StatelessContainer.java:191)
	at
org.apache.openejb.server.ejbd.EjbRequestHandler.doEjbObject_BUSINESS_METHOD(EjbRequestHandler.java:290)
	at
org.apache.openejb.server.ejbd.EjbRequestHandler.processRequest(EjbRequestHandler.java:140)
	at
org.apache.openejb.server.ejbd.EjbDaemon.processEjbRequest(EjbDaemon.java:267)
	at org.apache.openejb.server.ejbd.EjbDaemon.service(EjbDaemon.java:191)
	at org.apache.openejb.server.ejbd.EjbServer.service(EjbServer.java:81)
	at
org.apache.openejb.server.httpd.ServerServlet.service(ServerServlet.java:56)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
	at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
	at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
	at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
	at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
	at org.apache.tomee.catalina.OpenEJBValve.invoke(OpenEJBValve.java:45)
	at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
	at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
	at
org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:936)
	at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
	at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
	at
org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1004)
	at
org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)
	at
org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:312)
	at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1146)
	at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
	at java.lang.Thread.run(Thread.java:679)
Caused by: <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.openjpa.kernel.LocalManagedRuntime.commit(LocalManagedRuntime.java:81)
	at org.apache.openjpa.kernel.BrokerImpl.commit(BrokerImpl.java:1514)
	at
org.apache.openjpa.kernel.DelegatingBroker.commit(DelegatingBroker.java:933)
	at
org.apache.openjpa.persistence.EntityManagerImpl.commit(EntityManagerImpl.java:570)
	... 51 more
Caused by: <openjpa-2.2.0-r422266:1244990 fatal general error>
org.apache.openjpa.persistence.PersistenceException: user lacks privilege or
object not found: MENJAC {INSERT INTO menjac (menjac_tip) 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.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:357)
	at
org.apache.openjpa.jdbc.kernel.ConstraintUpdateManager.flushGraph(ConstraintUpdateManager.java:349)
	at
org.apache.openjpa.jdbc.kernel.ConstraintUpdateManager.flush(ConstraintUpdateManager.java:97)
	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)
	... 58 more
Caused by: org.apache.openjpa.lib.jdbc.ReportingSQLException: user lacks
privilege or object not found: MENJAC {INSERT INTO menjac (menjac_tip)
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)
	... 66 more
<openjpa-2.2.0-r422266:1244990 fatal store error>
org.apache.openjpa.persistence.RollbackException: The transaction has been
rolled back.  See the nested exceptions for details on the errors that
occurred.
	at
org.apache.openjpa.persistence.EntityManagerImpl.commit(EntityManagerImpl.java:594)
	at
rs.ac.uns.ftn.informatika.mbs2.vezbe07.primer02.server.session.TestBean.test(TestBean.java:62)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
	at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:616)
	at
org.apache.openejb.core.interceptor.ReflectionInvocationContext$Invocation.invoke(ReflectionInvocationContext.java:181)
	at
org.apache.openejb.core.interceptor.ReflectionInvocationContext.proceed(ReflectionInvocationContext.java:163)
	at org.apache.openejb.cdi.CdiInterceptor.invoke(CdiInterceptor.java:126)
	at org.apache.openejb.cdi.CdiInterceptor.access$000(CdiInterceptor.java:42)
	at org.apache.openejb.cdi.CdiInterceptor$1.call(CdiInterceptor.java:63)
	at
org.apache.openejb.cdi.CdiInterceptor.aroundInvoke(CdiInterceptor.java:69)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
	at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:616)
	at
org.apache.openejb.core.interceptor.ReflectionInvocationContext$Invocation.invoke(ReflectionInvocationContext.java:181)
	at
org.apache.openejb.core.interceptor.ReflectionInvocationContext.proceed(ReflectionInvocationContext.java:163)
	at
org.apache.openejb.monitoring.StatsInterceptor.record(StatsInterceptor.java:176)
	at
org.apache.openejb.monitoring.StatsInterceptor.invoke(StatsInterceptor.java:95)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
	at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:616)
	at
org.apache.openejb.core.interceptor.ReflectionInvocationContext$Invocation.invoke(ReflectionInvocationContext.java:181)
	at
org.apache.openejb.core.interceptor.ReflectionInvocationContext.proceed(ReflectionInvocationContext.java:163)
	at
org.apache.openejb.core.interceptor.InterceptorStack.invoke(InterceptorStack.java:138)
	at
org.apache.openejb.core.stateless.StatelessContainer._invoke(StatelessContainer.java:239)
	at
org.apache.openejb.core.stateless.StatelessContainer.invoke(StatelessContainer.java:191)
	at
org.apache.openejb.server.ejbd.EjbRequestHandler.doEjbObject_BUSINESS_METHOD(EjbRequestHandler.java:290)
	at
org.apache.openejb.server.ejbd.EjbRequestHandler.processRequest(EjbRequestHandler.java:140)
	at
org.apache.openejb.server.ejbd.EjbDaemon.processEjbRequest(EjbDaemon.java:267)
	at org.apache.openejb.server.ejbd.EjbDaemon.service(EjbDaemon.java:191)
	at org.apache.openejb.server.ejbd.EjbServer.service(EjbServer.java:81)
	at
org.apache.openejb.server.httpd.ServerServlet.service(ServerServlet.java:56)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
	at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
	at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
	at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
	at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
	at org.apache.tomee.catalina.OpenEJBValve.invoke(OpenEJBValve.java:45)
	at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
	at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
	at
org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:936)
	at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
	at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
	at
org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1004)
	at
org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)
	at
org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:312)
	at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1146)
	at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
	at java.lang.Thread.run(Thread.java:679)
Caused by: <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.openjpa.kernel.LocalManagedRuntime.commit(LocalManagedRuntime.java:81)
	at org.apache.openjpa.kernel.BrokerImpl.commit(BrokerImpl.java:1514)
	at
org.apache.openjpa.kernel.DelegatingBroker.commit(DelegatingBroker.java:933)
	at
org.apache.openjpa.persistence.EntityManagerImpl.commit(EntityManagerImpl.java:570)
	... 51 more
Caused by: <openjpa-2.2.0-r422266:1244990 fatal general error>
org.apache.openjpa.persistence.PersistenceException: user lacks privilege or
object not found: MENJAC {INSERT INTO menjac (menjac_tip) 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.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:357)
	at
org.apache.openjpa.jdbc.kernel.ConstraintUpdateManager.flushGraph(ConstraintUpdateManager.java:349)
	at
org.apache.openjpa.jdbc.kernel.ConstraintUpdateManager.flush(ConstraintUpdateManager.java:97)
	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)
	... 58 more
Caused by: org.apache.openjpa.lib.jdbc.ReportingSQLException: user lacks
privilege or object not found: MENJAC {INSERT INTO menjac (menjac_tip)
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)
	... 66 more




--
View this message in context: http://openjpa.208410.n2.nabble.com/Persistence-xml-configuration-OpenJPA-not-mapping-entities-to-mysql-db-tp7585208p7585210.html
Sent from the OpenJPA Users mailing list archive at Nabble.com.

Re: Persistence.xml configuration, OpenJPA not mapping entities to mysql db

Posted by Michael Dick <mi...@gmail.com>.
OpenJPA is in the process of creating the tables when an error occurs. It
looks like a syntax error from the database over the AUTO_INCREMENT
keyword. I didn't find any hits on the sql state and error code though.

Are there any chained exceptions? A nested SQLException might have a more
helpful message.

I did try the SQL statement on a local copy of MySQL and I was able to
create the table manually, so I don't think there are any syntax errors. As
a last resort you could try running the SQL manually too, and see if it has
trouble with any other tables.

-mike




On Thu, Oct 17, 2013 at 7:33 AM, wlad <vv...@yahoo.com> wrote:

> Hi,
> I am (new to JEE) working with: EJB3, Apache TomEE plus 1.5.2, openjpa as
> persistence provider, MySQL database,  Eclipse IDE.
> I'm trying to run simple EJB with JPA example but getting this error:
>
> "<openjpa-2.2.0-r422266:1244990 nonfatal general error>
> org.apache.openjpa.persistence.PersistenceException: unexpected token:
> AUTO_INCREMENT {stmnt 15634609 CREATE TABLE gorivo (gorivo_id INTEGER NOT
> NULL AUTO_INCREMENT, gorivo_tip VARCHAR(255) NOT NULL, PRIMARY KEY
> (gorivo_id), UNIQUE U_GORIVO_GORIVO_ID (gorivo_id)) ENGINE = innodb}
> [code=-5581, state=42581]
>         at
> org.apache.openjpa.jdbc.meta.MappingTool.record(MappingTool.java:559)
>         at
> org.apache.openjpa.jdbc.meta.MappingTool.record(MappingTool.java:455)
>         at
>
> org.apache.openjpa.jdbc.kernel.JDBCBrokerFactory.synchronizeMappings(JDBCBrokerFactory.java:160)
>         at
>
> org.apache.openjpa.jdbc.kernel.JDBCBrokerFactory.synchronizeMappings(JDBCBrokerFactory.java:164)
>         at
>
> org.apache.openjpa.jdbc.kernel.JDBCBrokerFactory.newBrokerImpl(JDBCBrokerFactory.java:122)
>         at
>
> org.apache.openjpa.kernel.AbstractBrokerFactory.newBroker(AbstractBrokerFactory.java:209)
>         at
>
> org.apache.openjpa.kernel.DelegatingBrokerFactory.newBroker(DelegatingBrokerFactory.java:156)
>         at
>
> org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:227)
>         at
>
> org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:154)
>         ......
> "
>
> The example should demonstrate creating and deploying an EJB bean to a
> server, accessing it using its JNDI name, and calling its method (persist,
> update, remove, list some entities).
> From what I understood is that annotated entities in the project should
> map/create mysql db tables if it is configured in persistence.xml file.
>
> When I deploy this project (as jar) to TomEE server, and start TomEE,
> openjpa does not create/map entities to mysql tables (no tables in mysql
> when i check it from terminal).
> I am not sure have I configured persistence.xml correctly, where
> persistence
> unit looks like this:
>
>   <persistence-unit name="Vezbe07Primer02"
> transaction-type="RESOURCE_LOCAL">
>
> <provider>org.apache.openjpa.persistence.PersistenceProviderImpl</provider>
>     <properties>
>
>       <property name="openjpa.ConnectionURL"
> value="jdbc:mysql://localhost:3306/xyDB"/>
>       <property name="openjpa.ConnectionDriverName"
> value="com.mysql.jdbc.Driver"/>
>       <property name="openjpa.ConnectionUserName" value="root"/>
>       <property name="openjpa.ConnectionPassword" value="123"/>
>
>       <property name="openjpa.jdbc.SynchronizeMappings"
> value="buildSchema(ForeignKeys=true)" />
>       <property name="openjpa.jdbc.DBDictionary" value="mysql" />
>       <property name="openjpa.Log" value="DefaultLevel=WARN, Tool=INFO" />
>     </properties>
>   </persistence-unit>
>
> I believe this should be due some obvious setting i am missing, or not
> doing
> correctly.
> Appreciate any help or advice.
>
>
>
> --
> View this message in context:
> http://openjpa.208410.n2.nabble.com/Persistence-xml-configuration-OpenJPA-not-mapping-entities-to-mysql-db-tp7585208.html
> Sent from the OpenJPA Users mailing list archive at Nabble.com.
>