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.

Reply via email to