Am using JPA/Object database and modeling entities such that they work with Hibernate (JPA2) as well as OrientDB.
On OrientDb - 3.0.0
com.orientechnologies.orient.core.exception.OSchemaException: Cannot add base class 'Feature', because of recursion
DB name="stumps_crm_odb"
at com.orientechnologies.orient.core.metadata.schema.OClassImpl.checkRecursion(OClassImpl.java:1572)
at com.orientechnologies.orient.core.metadata.schema.OClassImpl.addBaseClass(OClassImpl.java:1516)
at com.orientechnologies.orient.core.metadata.schema.OClassEmbedded.setSuperClassesInternal(OClassEmbedded.java:425)
at com.orientechnologies.orient.core.metadata.schema.OClassEmbedded.setSuperClasses(OClassEmbedded.java:273)
at com.orientechnologies.orient.object.enhancement.OObjectEntitySerializer.registerClass(OObjectEntitySerializer.java:660)
at com.orientechnologies.orient.object.entity.OObjectEntityClassHandler.registerEntityClass(OObjectEntityClassHandler.java:51)
at com.orientechnologies.orient.object.entity.OObjectEntityClassHandler.registerEntityClass(OObjectEntityClassHandler.java:40)
at com.orientechnologies.orient.object.entity.OObjectEntityClassHandler.registerEntityClass(OObjectEntityClassHandler.java:34)
at com.orientechnologies.orient.core.entity.OEntityManager.registerEntityClasses(OEntityManager.java:232)
at com.neurosys.odb.object.RegisterClass.register(RegisterClass.java:45)
at com.neurosys.odb.object.etl.ODBPersistTransformer.setRegisterClasses(ODBPersistTransformer.java:101)
at com.neurosys.crm.domain.EntitiesTest.testPackageAndFeatures(EntitiesTest.java:70)