[
https://issues.apache.org/jira/browse/OPENJPA-2407?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Serdyn du Toit updated OPENJPA-2407:
------------------------------------
Attachment: sandbox-mysqlc16.zip
sandbox-mysqlc16.zip
Fixed. This is however a MySql Cluster (NdbOpenJPAStoreManager OpenJpa
extension not maintained in OpenJpa) issue and will be raised with them.
Leaving this open until its resolved and anyone want to use this channel to
communicate about it (close if you want)
> Errors using MySql Cluster not present using HSqlDb (build-time enhancement
> and executing query)
> ------------------------------------------------------------------------------------------------
>
> Key: OPENJPA-2407
> URL: https://issues.apache.org/jira/browse/OPENJPA-2407
> Project: OpenJPA
> Issue Type: Bug
> Components: Enhance
> Affects Versions: 2.2.2
> Environment: Windows 8 using MySql Cluster
> Reporter: Serdyn du Toit
> Priority: Minor
> Attachments: sandbox-mysqlc08.zip, sandbox-mysqlc10.zip,
> sandbox-mysqlc16.zip, sandbox-mysqlc4.zip, sandbox-mysqlc6-openjpa1.zip
>
>
> Hi,
> I'm seeing some problems when my persistence.xml is populated with details
> for MySql Cluster - but when I work against HSqlDb everything is working
> great.
> First issue during build-time enhancement:
> I get the following even though I don't have any @Embeddables in my code
> [openjpac] 407 testdb ERROR [main] openjpa.Enhance - The identity field
> defined in the code.shared.DataBean Embeddable is not supported.
>
> Someone else has also encountered this issue:
> http://stackoverflow.com/questions/16619860/openjpa-enhance-the-identity-field-defined-in-the-0-embeddable-is-not-suppo
> Second issue at runtime:
> During the second invocation of a method that should return everything from a
> table I get the following stacktrace:
> 1797 testdb TRACE [main] openjpa.jdbc.JDBC - <t 488448102, conn 0> [1 ms]
> close
> <openjpa-2.2.2-r422266:1468616 nonfatal general error>
> org.apache.openjpa.persistence.PersistenceException: null
> at
> org.apache.openjpa.kernel.QueryImpl.compileForCompilation(QueryImpl.java:625)
> at
> org.apache.openjpa.kernel.QueryImpl.compileForExecutor(QueryImpl.java:682)
> at org.apache.openjpa.kernel.QueryImpl.getOperation(QueryImpl.java:1529)
> at
> org.apache.openjpa.kernel.DelegatingQuery.getOperation(DelegatingQuery.java:124)
> at org.apache.openjpa.persistence.QueryImpl.execute(QueryImpl.java:280)
> at
> org.apache.openjpa.persistence.QueryImpl.getResultList(QueryImpl.java:302)
> at test.OpenJpaTest.findAll(OpenJpaTest.java:60)
> at test.OpenJpaTest.findAllAndAssertSizeOfOne(OpenJpaTest.java:65)
> at test.OpenJpaTest.test(OpenJpaTest.java:45)
> 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: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.runners.ParentRunner.runLeaf(ParentRunner.java:263)
> at
> org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:68)
> 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.junit.runners.ParentRunner.run(ParentRunner.java:300)
> 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: java.lang.NullPointerException
> at
> org.apache.openjpa.kernel.ExpressionStoreQuery.newCompilation(ExpressionStoreQuery.java:154)
> at
> org.apache.openjpa.kernel.QueryImpl.newCompilation(QueryImpl.java:672)
> at
> org.apache.openjpa.kernel.QueryImpl.compilationFromCache(QueryImpl.java:654)
> at
> org.apache.openjpa.kernel.QueryImpl.compileForCompilation(QueryImpl.java:620)
> ... 31 more
> My persistence.xml
> <?xml version="1.0"?>
> <persistence xmlns="http://java.sun.com/xml/ns/persistence" version="2.0">
> <persistence-unit name="testdb" transaction-type="RESOURCE_LOCAL">
>
> <provider>org.apache.openjpa.persistence.PersistenceProviderImpl</provider>
> <class>code.TestDataBean</class>
> <class>code.shared.DataBean</class>
> <class>code.shared.AbstractDataBean</class>
> <properties>
> <!-- HSqlDb -->
> <!--
> <property name="openjpa.jdbc.SynchronizeMappings" value="buildSchema" />
> <property name="openjpa.ConnectionURL" value="jdbc:hsqldb:testdb" />
> <property name="openjpa.ConnectionDriverName"
> value="org.hsqldb.jdbcDriver" />
> <property name="openjpa.ConnectionUserName" value="sa" />
> <property name="openjpa.ConnectionPassword" value="" />
> <property name="openjpa.Log" value="DefaultLevel=TRACE" />
> -->
> <!-- MySql Cluster port 5000 -->
> <property name="openjpa.jdbc.SynchronizeMappings" value="buildSchema" />
> <property name="openjpa.ConnectionDriverName"
> value="com.mysql.jdbc.Driver" />
> <property name="openjpa.ConnectionURL"
> value="jdbc:mysql://localhost:5000/clusterdb" />
> <property name="openjpa.ConnectionUserName" value="root" />
> <property name="openjpa.ConnectionPassword" value="" />
> <property name="openjpa.BrokerFactory" value="ndb" />
> <property name="openjpa.jdbc.DBDictionary" value="TableType=ndb"/>
> <property name="openjpa.ndb.connectString" value="localhost:1186" />
> <property name="openjpa.ndb.database" value="clusterdb" />
> <property name="openjpa.Log" value="DefaultLevel=TRACE" />
> </properties>
> </persistence-unit>
> </persistence>
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira