I'm a bit curious as you why you are trying to persist a collection class. Why not create an entity and persist the Map as a field on the entity?
On Sun, Feb 7, 2010 at 10:57 PM, Alex Lui <[email protected]> wrote: > As java.util.Map isn't supported by GAE, I'm trying to create a class > > @PersistenceCapable(identityType = IdentityType.APPLICATION, > detachable="true") > public class DAOMap<K extends Object, V extends Object> implements > Map<K,V> { > ... > > however, got such exception in Eclipse console > > DataNucleus Enhancer (version 1.1.4) : Enhancement of classes > Errors were encountered when loading the specified MetaData files and > classes. See the nested exceptions for details > DataNucleus Enhancer completed with an error. Please review the > enhancer log for full details. Some classes may have been enhanced but > some caused errors > Feb 8, 2010 2:55:53 PM org.datanucleus.enhancer.DataNucleusEnhancer > main > SEVERE: DataNucleus Enhancer completed with an error. Please review > the enhancer log for full details. Some classes may have been enhanced > but some caused errors > Errors were encountered when loading the specified MetaData files and > classes. See the nested exceptions for details > org.datanucleus.exceptions.NucleusUserException: Errors were > encountered when loading the specified MetaData files and classes. See > the nested exceptions for details > at > org.datanucleus.metadata.MetaDataManager.loadClasses(MetaDataManager.java: > 426) > at > > org.datanucleus.enhancer.DataNucleusEnhancer.getFileMetadataForInput(DataNucleusEnhancer.java: > 743) > at > > org.datanucleus.enhancer.DataNucleusEnhancer.enhance(DataNucleusEnhancer.java: > 545) > at > org.datanucleus.enhancer.DataNucleusEnhancer.main(DataNucleusEnhancer.java: > 1252) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java: > 39) > at > > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java: > 25) > at java.lang.reflect.Method.invoke(Method.java:597) > 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) > Caused by: java.lang.IllegalStateException: Unknown type: K > at > > org.datanucleus.jdo.metadata.JDOAnnotationReader.processMemberAnnotations(JDOAnnotationReader.java: > 1748) > 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.metadata.MetaDataManager.loadClasses(MetaDataManager.java: > 385) > ... 10 more > Nested Throwables StackTrace: > java.lang.IllegalStateException: Unknown type: K > at > > org.datanucleus.jdo.metadata.JDOAnnotationReader.processMemberAnnotations(JDOAnnotationReader.java: > 1748) > 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.metadata.MetaDataManager.loadClasses(MetaDataManager.java: > 385) > at > > org.datanucleus.enhancer.DataNucleusEnhancer.getFileMetadataForInput(DataNucleusEnhancer.java: > 743) > at > > org.datanucleus.enhancer.DataNucleusEnhancer.enhance(DataNucleusEnhancer.java: > 545) > at > org.datanucleus.enhancer.DataNucleusEnhancer.main(DataNucleusEnhancer.java: > 1252) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java: > 39) > at > > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java: > 25) > at java.lang.reflect.Method.invoke(Method.java:597) > 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) > DataNucleus Enhancer completed and no classes were enhanced. Consult > the log for full details > > > Any idea? > > -- > 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 > [email protected]. > To unsubscribe from this group, send email to > [email protected]<google-appengine-java%[email protected]> > . > For more options, visit this group at > http://groups.google.com/group/google-appengine-java?hl=en. > > -- Ikai Lan Developer Programs Engineer, Google App Engine http://googleappengine.blogspot.com | http://twitter.com/app_engine -- 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 [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en.
