2013-09-24 4 views
1

Je suis un débutant dans orientdb et je suis en train d'enregistrer certaines entités dans la base de données, mais je continue à avoir cette exception:ClassCastException utilisant OrientDb

GRAVE: Error on creating object of class SessionStats 
    java.lang.ClassCastException: com.heavenize.embedder.statsengine.model.SessionStats_$$_javassist_0 cannot be cast to javassist.util.proxy.Proxy 
     at com.orientechnologies.orient.object.enhancement.OObjectEntityEnhancer.getProxiedInstance(OObjectEntityEnhancer.java:155) 
     at com.orientechnologies.orient.object.db.OObjectDatabaseTx.newInstance(OObjectDatabaseTx.java:132) 
     at com.orientechnologies.orient.object.db.OObjectDatabaseTx.newInstance(OObjectDatabaseTx.java:92) 
.... 

J'utilisant la base de données d'objets pour persister quelques objets et j'ai créé une classe pour envelopper la classe OObjectDatabaseTx.

L'exception se produit lorsque j'essaie de créer une nouvelle instance.

public class DbOrientService 
{ 

    public <T> T newIntance(Class<T> instance) 
    { 
    OObjectDatabaseTx currentDbInstance = getCurrentDbInstance(); 
    T newInstance = currentDbInstance.newInstance(instance); //Happens in this line 
    return newInstance; 
    } 

    public OObjectDatabaseTx getCurrentDbInstance() 
    { 
    this.db = new OObjectDatabaseTx(url); 
    if (!this.db.exist()) 
    {   
     this.db = db.create(); 
    } 
    else 
    { 
     this.db = OObjectDatabasePool.global().acquire(url, "admin", "admin"); 
    } 
    return db; 
    } 

J'ai également enregistré le paquet où les entités sont stockées. Comment puis-je résoudre ce problème?

Répondre

3
java.lang.ClassCastException: 
com.heavenize.embedder.statsengine.model.SessionStats_$$_javassist_0 
cannot be cast to javassist.util.proxy.Proxy 

Puisque l'objet de toute évidence est un proxy javassist et ne peut pas être casté à proxy javassist, je suppose que vous avez deux versions différentes de javassist sur le chemin de classe

+0

Ok, merci pour votre Aidez-moi. La confusion des chemins de classes entre Eclipse et maven. – Dimitri