2009-04-10 3 views
1

Die App Engine-docs Google sagen, dass ich serialisierbare Objekte mit JDO wie soPersist java.util.Properties als serialisiert Objekt mit JDO/Datanucleus

import javax.jdo.annotations.Persistent; 
import DownloadableFile; 

// ... 
@Persistent(serialized = "true") 
private DownloadableFile file; 

aber wenn ich es mit Eigenschaften verwenden bestehen können

@Persistent(serialized="true") 
private Properties initProps; 

ich

Datanucleus Enhancer (Version 1.1.0): Erweiterung der Klassen

Das Feld "initProps" in der Klasse "ServletRegistration" wurde als Map definiert, aber der Schlüsseltyp wurde nicht angegeben!

Kann ich das mit zusätzlichen Anmerkungen beheben?

Antwort

2

hinzufügen @Key (Typen = String.class) @Value (Typen = String.class)

seit "Eigenschaften" ist ein bisschen wie ein Hack, dass es auch nicht-String enthalten kann, und erlaubt keine generische Spezifikation, daher müssen Sie sie einschränken. Die nächste Version von AppEngine wird eine Version von DataNucleus haben, die diese zusätzlichen Informationen nicht benötigt.