You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@openjpa.apache.org by "Serdyn du Toit (JIRA)" <ji...@apache.org> on 2013/07/05 11:57:49 UTC

[jira] [Created] (OPENJPA-2407) Errors using MySql not present using HSqlDb (build-time enhancement and executing query)

Serdyn du Toit created OPENJPA-2407:
---------------------------------------

             Summary: Errors using MySql 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


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