2009-04-10 9 views
1

Les docs AppEngine Google disent que je peux persister des objets sérialisables en utilisant JDO comme sipersist java.util.Properties comme objet sérialisés à l'aide JDO/DataNucleus

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

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

mais si je l'utilise avec des propriétés

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

Je reçois

DataNucleus Enhancer (version 1.1.0): Amélioration des classes

Champ "initProps" dans la classe "ServletRegistration" a été défini comme une carte mais le type de clé n'est pas spécifié! Est-ce que je peux corriger cela avec des annotations supplémentaires?

Répondre

2

Ajouter @Key (types = String.class) @value (types = String.class)

depuis "Propriétés" est un peu un hack en ce qu'elle peut également contenir des non-String, et ne permet pas de spécification générique, vous devez donc le restreindre. La prochaine version de AppEngine aura une version de DataNucleus qui ne nécessite pas cette information supplémentaire.

Questions connexes