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.

Reply via email to