2010-09-28 5 views
2

Quelle est la meilleure façon de stocker des listes (collections) de types simples dans Google App Engine pour Java?GAE pour Java Meilleures pratiques. Comment stocker la liste triée <string> de façon optimale

J'utilise habituellement quelque chose comme ça:

public class Person { 
// ....  

@Persistent(serialized = "true") 
private List<Date> DatesList; 

// .... 
} 

Je ne sais pas comment il est stocké dans DataStore, atomiquement ou une liste de références? Par conséquent, nous voulions obtenir votre avis sur la mise en œuvre de ces types de collections de la meilleure façon pour l'exécution d'une requête.

Comme dans l'exemple ci-dessus, lorsque je charge l'objet, le fichier DateList sera chargé avec celui-ci. Ou il sera chargé lors de l'accès pour la première fois?

L'attribut @defaultFetchGroup affecte-t-il cette collection?

Merci

Répondre

1

La liste sera retourné/chargé par le datastore avec le reste de l'objet, pas quand il est d'abord fait référence.

GAE JDO Collections

Si un champ est déclaré en tant que liste, les objets renvoyés par le magasin de données ont une valeur ArrayList. Si un champ est déclaré en tant qu'ensemble, le magasin de données renvoie un HashSet. Si un champ est déclaré en tant que SortedSet, le magasin de données renvoie un TreeSet.

+0

c'est vrai, mais le lien "loading referenced entities" est trompeur et devrait probablement être supprimé. la question parle simplement d'une simple propriété de liste, pas de propriétés de référence qui pointent vers des entités séparées. – ryan

Questions connexes