MongoDB
 sql >> Database >  >> NoSQL >> MongoDB

Eclipselink con MongoDB java.lang.ClassCastException

Il problema era con la mia unità di persistenza. Per impostazione predefinita TUTTE le classi Entity sono incluse, quindi sia le mie entità NoSQL che SQL venivano passate sia alle unità di persistenza SQL che NoSQL. La soluzione era solo specificare le entità all'interno dell'unità di persistenza persistence.xml.

<persistence-unit name="Dastrax_NoSQL_PU" transaction-type="JTA">
    <provider>org.eclipse.persistence.jpa.PersistenceProvider</provider>
    <class>declare_your_entity_1</class>
    <class>declare_your_entity_2</class>
    <exclude-unlisted-classes>false</exclude-unlisted-classes>
    <properties>
      <property name="eclipselink.target-database" value="org.eclipse.persistence.nosql.adapters.mongo.MongoPlatform"/>
      <property name="eclipselink.nosql.connection-spec" value="org.eclipse.persistence.nosql.adapters.mongo.MongoConnectionSpec"/>
      <property name="eclipselink.nosql.property.mongo.port" value="27017"/>
      <property name="eclipselink.nosql.property.mongo.host" value="localhost"/>
      <property name="eclipselink.nosql.property.mongo.db" value="dev"/>
      <property name="eclipselink.logging.level" value="FINEST"/>
    </properties>
  </persistence-unit>