Título: duda con Db4o con java Publicado por: edu@85 en 3 Marzo 2009, 13:35 pm Lo que quiero hacer es crear una base de datos cerrarla luego abrirla y hacer una consulta. Las demas clases (player,team..) contienen atributos y metodos get y set.
Este es el codigo en java: Código
Salta el siguiente error: Exception in thread "main" java.lang.ClassCastException: Player cannot be cast to com.db4o.reflect.generic.GenericObject at com.db4o.reflect.generic.GenericField.get(GenericField.java:36) at com.db4o.internal.FieldMetadata.getOn(FieldMetadata.java:582) at com.db4o.internal.FieldMetadata.collectConstraints(FieldMetadata.java:338) at com.db4o.internal.ClassMetadata$3.apply(ClassMetadata.java:447) at com.db4o.internal.ClassMetadata.forEachDeclaredAspect(ClassMetadata.java:1968) at com.db4o.internal.ClassMetadata.forEachAspect(ClassMetadata.java:1949) at com.db4o.internal.ClassMetadata.forEachField(ClassMetadata.java:1939) at com.db4o.internal.ClassMetadata.collectConstraints(ClassMetadata.java:443) at com.db4o.internal.query.processor.QConObject.associateYapClass(QConObject.java:82) at com.db4o.internal.query.processor.QConObject.byExample(QConObject.java:421) at com.db4o.internal.PartialObjectContainer.queryByExampleInternal(PartialObjectContainer.java:757) at com.db4o.internal.PartialObjectContainer.queryByExample(PartialObjectContainer.java:741) at com.db4o.internal.ExternalObjectContainer.queryByExample(ExternalObjectContainer.java:75) at com.db4o.internal.ExternalObjectContainer.get(ExternalObjectContainer.java:71) at Db4oTest.queryByExampleDemo(Db4oTest.java:102) at Db4oTest.main(Db4oTest.java:25) Título: Re: duda con Db4o con java Publicado por: sirdarckcat en 10 Marzo 2009, 13:23 pm No dijiste que es Player ni que hay en la linea 102
porque del codigo que mandaste la linea 102 no hace una QueryByExample Suponiendo que la 102 es ObjectSet result=db.queryByExample(examplePlayer); entonces el problema esta en que examplePlayer no es una instancia ni interface de "GenericObject". Si la clase es generica debes poner el tipo entre <> en el contructor. Probablemente despues de 7 dias ya resolviste la duda, pero es raro ver mensajes sin responder.. asi que.. Título: Re: duda con Db4o con java Publicado por: edu@85 en 10 Marzo 2009, 15:36 pm Si esa es la linea 102, la clase player es esta:
Código el problema creo que esta cuando creo la base y la cierro en el metodo createTestData() y despues al hacer la consulta la abro y salta el error. Título: Re: duda con Db4o con java Publicado por: sirdarckcat en 11 Marzo 2009, 02:42 am pon tu codigo entre [code=java][/code]
Cita de: http://developer.db4o.com/forums/thread/45980.aspx#ctl00_ctl01_bcr_ctl00___PostRepeater_ctl03_PostAnchor Hi ! Whenever you get an unexpected GenericObject returned, this is an issue with db4o not being able to access your application classes. On Java this is always a CLASSPATH issue. On .NET this is always an issue with not having access to the original assembly, because it possibly was renamed. In both cases it may work fine to store and access objects in the first session, but it won't work any longer after you reopen the database. We see the above frequently here, so there should definitely be an entry in our Reference Documentation under Usage Pitfalls http://developer.db4o.com/Resources/view.aspx/Reference/Usage_Pitfalls Yeah, here is something about where not to place the db4o Jar: http://developer.db4o.com/Resources/view.aspx/Reference/Usage_Pitfalls/Classloader_And_Generic_Classes |