Hi all, Does anyone know if it's possible to persist generic classes (with JDO, for example)? I have a class like this:
@PersistenceCapable(identityType = IdentityType.APPLICATION, detachable = "true") public class MyClass<T extends IsSerializable> implements IsSerializable { ... } but the JDO compiler is having a problem with recognizing "T" (see transcript below). Has anyone persisted generic classes with JDO and GAE? Thanks, ~Owen LOG: 30-ene-2011 12:33:07 org.datanucleus.enhancer.asm.ASMClassEnhancer enhance GRAVE: Error thrown enhancing with ASMClassEnhancer java.lang.IllegalStateException: Unknown type: T at org.datanucleus.jdo.metadata.JDOAnnotationReader.processMemberAnnotations(JDOAnnotationReader.java:1659) at org.datanucleus.metadata.annotations.AbstractAnnotationReader.getMetaDataForClass(AbstractAnnotationReader.java:169) at org.datanucleus.metadata.annotations.AnnotationManagerImpl.getMetaDataForClass(AnnotationManagerImpl.java:136) at org.datanucleus.metadata.MetaDataManager.loadAnnotationsForClass(MetaDataManager.java:2278) at org.datanucleus.jdo.metadata.JDOMetaDataManager.getMetaDataForClassInternal(JDOMetaDataManager.java:369) at org.datanucleus.metadata.MetaDataManager.getMetaDataForClass(MetaDataManager.java:1125) at org.datanucleus.enhancer.AbstractClassEnhancer.isPersistenceCapable(AbstractClassEnhancer.java:183) at org.datanucleus.enhancer.asm.JdoMethodAdapter.visitFieldInsn(JdoMethodAdapter.java:81) at org.objectweb.asm.ClassReader.accept(Unknown Source) at org.objectweb.asm.ClassReader.accept(Unknown Source) at org.datanucleus.enhancer.asm.ASMClassEnhancer.enhance(ASMClassEnhancer.java:355) at org.datanucleus.enhancer.DataNucleusEnhancer.enhanceClass(DataNucleusEnhancer.java:974) at org.datanucleus.enhancer.DataNucleusEnhancer.enhance(DataNucleusEnhancer.java:570) at org.datanucleus.enhancer.DataNucleusEnhancer.main(DataNucleusEnhancer.java:1252) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at com.google.appengine.tools.enhancer.Enhancer.execute(Enhancer.java:57) at com.google.appengine.tools.enhancer.Enhance.<init>(Enhance.java:60) at com.google.appengine.tools.enhancer.Enhance.main(Enhance.java:41) -- You received this message because you are subscribed to the Google Groups "Google App Engine for Java" group. To post to this group, send email to google-appengine-java@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en.