I have an "Object" field in one of my JDO classes, like this:
@PersistenceCapable(identityType = IdentityType.APPLICATION, detachable = "true") class Foo { ... @Persistent @Value(types={java.lang.Boolean.class, java.lang.String.class}) Object bar; ... }
When I tried to access this field, I got the following exception:
Field "Foo.bar" is declared as a reference type (interface/Object) but no implementation classes of "java.lang.Object" have been found! org.datanucleus.exceptions.NucleusUserException: Field "Foo.bar" is declared as a reference type (interface/Object) but no implementation classes of "java.lan g.Object" have been found! at org.datanucleus.metadata.MetaDataUtils.getImplementationNamesForReferenceField(MetaDataUtils.java:531) at org.datanucleus.store.mapped.mapping.ReferenceMapping.createPerImplementationColumnsForReferenceField(Re ferenceMapping.java:279) at org.datanucleus.store.mapped.mapping.ReferenceMapping.prepareDatastoreMapping(ReferenceMapping.java:205) at org.datanucleus.store.mapped.mapping.ReferenceMapping.initialize(ReferenceMapping.java:114) at org.datanucleus.store.mapped.mapping.MappingFactory.createMapping(MappingFactory.java:97) at org.datanucleus.store.mapped.mapping.AbstractMappingManager.getMapping(AbstractMappingManager.java:248) at org.datanucleus.store.appengine.DatastoreTable.initializeNonPK(DatastoreTable.java:301) at org.datanucleus.store.appengine.DatastoreTable.buildMapping(DatastoreTable.java:276) at org.datanucleus.store.appengine.DatastoreManager.newStoreData(DatastoreManager.java:329) at org.datanucleus.store.AbstractStoreManager.addClasses(AbstractStoreManager.java:788) at org.datanucleus.store.AbstractStoreManager.addClass(AbstractStoreManager.java:759) at org.datanucleus.store.mapped.MappedStoreManager.getDatastoreClass(MappedStoreManager.java:358) at org.datanucleus.store.appengine.DatastoreManager.getDatastoreClass(DatastoreManager.java:555) at org.datanucleus.store.appengine.query.DatastoreQuery.performExecute(DatastoreQuery.java:200) at org.datanucleus.store.appengine.query.JDOQLQuery.performExecute(JDOQLQuery.java:84) at org.datanucleus.store.query.Query.executeQuery(Query.java:1489) at org.datanucleus.store.query.Query.executeWithArray(Query.java:1371) at org.datanucleus.store.query.Query.execute(Query.java:1344) at org.datanucleus.jdo.JDOQuery.execute(JDOQuery.java:221)
Does anyone know if Google App Engine supports the "@Value" annotation and/or how to get around this problem?
Thanks!