Too many persistable types (>10) - exceeds evaluation limit

#1

Hi,

I am trying to evaluate and compare ObjectDB to other persistence solution for a project. At the moment I am trying to read in data written previously with JDO.

As I am testing many frameworks and want to automate as much of the testing as possible I am using two persistence units for this and get a JdoDataStoreException: Too many persistable types (>10) - exceeds evaluation limit... Even though I define only 10 entites in the persistenceFile. Has this something to do with the fact that I have to persistence units?

Here is my persistence.xml:


<?xml version="1.0" encoding="UTF-8"?>
<persistence version="2.1"
xmlns="http://xmlns.jcp.org/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/persistence http://xmlns.jcp.org/xml/ns/persistence/persistence_2_1.xsd">
<persistence-unit name="JDO ObjectDB ObjectDBWriting Join Tables" transaction-type="RESOURCE_LOCAL">
  <provider>com.objectdb.jdo.Provider</provider>
  <class>de.itemis.jdoObjectdbJoinTables.entities.definition.ArtefactDefinition</class>
  <class>de.itemis.jdoObjectdbJoinTables.entities.definition.DatasourceDefinition</class>
  <class>de.itemis.jdoObjectdbJoinTables.entities.definition.LinkDefinition</class>
  <class>de.itemis.jdoObjectdbJoinTables.entities.definition.MetricDefinition</class>
  <class>de.itemis.jdoObjectdbJoinTables.entities.definition.Project</class>
  <class>de.itemis.jdoObjectdbJoinTables.entities.definition.PropertyDefinition</class>
  <class>de.itemis.jdoObjectdbJoinTables.entities.instance.Artefact</class>
  <class>de.itemis.jdoObjectdbJoinTables.entities.instance.Link</class>
  <class>de.itemis.jdoObjectdbJoinTables.entities.instance.ArtefactPropertyValue</class>
  <class>de.itemis.jdoObjectdbJoinTables.entities.instance.ProjectSnapshot</class>
  <properties>
      <property name="javax.jdo.option.ConnectionURL" value="objectdb://localhost:6136/jdo.tmp;drop"/> <!-- ;drop is necessary for modification of db -->
      <property name="javax.jdo.PersistenceManagerFactoryClass" value="com.objectdb.jdo.PMF"/>
      <property name="javax.jdo.option.ConnectionUserName" value="jdo"/>
      <property name="javax.jdo.option.ConnectionPassword" value="jdo"/>
  </properties>
</persistence-unit>
  <persistence-unit name="JDO ObjectDB ObjectDBReading Join Tables" transaction-type="RESOURCE_LOCAL">
  <provider>com.objectdb.jdo.Provider</provider>
  <class>de.itemis.jdoObjectdbJoinTables.entities.definition.ArtefactDefinition</class>
  <class>de.itemis.jdoObjectdbJoinTables.entities.definition.DatasourceDefinition</class>
  <class>de.itemis.jdoObjectdbJoinTables.entities.definition.LinkDefinition</class>
  <class>de.itemis.jdoObjectdbJoinTables.entities.definition.MetricDefinition</class>
  <class>de.itemis.jdoObjectdbJoinTables.entities.definition.Project</class>
  <class>de.itemis.jdoObjectdbJoinTables.entities.definition.PropertyDefinition</class>
  <class>de.itemis.jdoObjectdbJoinTables.entities.instance.Artefact</class>
  <class>de.itemis.jdoObjectdbJoinTables.entities.instance.Link</class>
  <class>de.itemis.jdoObjectdbJoinTables.entities.instance.ArtefactPropertyValue</class>
  <class>de.itemis.jdoObjectdbJoinTables.entities.instance.ProjectSnapshot</class>
  <properties>
      <property name="javax.jdo.option.ConnectionURL" value="objectdb://localhost:6136/jdo.tmp"/>
      <property name="javax.jdo.PersistenceManagerFactoryClass" value="com.objectdb.jdo.PMF"/>
      <property name="javax.jdo.option.ConnectionUserName" value="jdo"/>
      <property name="javax.jdo.option.ConnectionPassword" value="jdo"/>
  </properties>
</persistence-unit>
</persistence>
#2

Maybe you are writing to a database that already has other entity classes?

ObjectDB Support
ObjectDB - Fast Object Database for Java (JPA/JDO)
#3

No. I have the database locally installed on my machine. I deleted all databases before testing it, so there should be no entity classes stored in it.

And if other entity types are in the db I would expect the error message to occur at the begin of the writing. But the writing is ok. Everything is written correctly as far as I can tell. When I start reading the data the error occurs.

For finding the error I even tried using only one persistence unit and writing without the added ;drop in the connectionURL. Still the error occurs...

#4

Ok I think I found the problem. As I was doing tests with other technologies using  persistence.xml as well, these file were somehow read in as well (even if they were in another subproject and were used by jpa hibernate for example). If I am building the project only with objectdb it seems to work.

Is it possible to specify the persistence.xml explicity, preventing objectDB looking for other persistence.xml files?

#5

Thank you for the update. Please use a separate forum thread per subject. This forum thread is about evaluation limit so questions about persistence.xml files should be discussed in a new thread.

ObjectDB Support
ObjectDB - Fast Object Database for Java (JPA/JDO)
#6

A 30 days evaluation licence (removing evaluation limits) was sent to you in a separate email.

ObjectDB Support
ObjectDB - Fast Object Database for Java (JPA/JDO)
#7

Thank you.


Post Reply

To post a reply and/or subscribe to update notifications - please login