J'ai une classe assez grande stockés dans le magasin de données, par exemple une classe d'utilisateurs avec beaucoup de champs (j'utilise java, en omettant toutes les décorations exemple ci-dessous pour plus de clarté):Désérialiser uniquement les propriétés de sélection d'une entité à l'aide de la chaîne de requête JDOQL?
@PersistenceCapable
class User {
private String username;
private String city;
private String state;
private String country;
private String favColor;
}
Pour certaines requêtes des utilisateurs, Je ne ai besoin favColor la propriété, mais en ce moment je fais ceci:
SELECT FROM " + User.class.getName() + " WHERE username == 'bob'
qui devrait désérialiser toutes les propriétés de l'entité. Est-il possible de faire quelque chose à la place comme:
SELECT username, favColor FROM " + User.class.getName() + " WHERE username == 'bob'
et dans ce cas, toutes les instances de l'utilisateur renvoyés passeront seulement le temps désérialisation le nom d'utilisateur et les propriétés favColor, et non les propriétés ville/État/Pays? Si oui, alors je suppose que toutes les autres propriétés seront nulles (dans le cas des objets) ou 0 pour int/long/float?
Merci
Argh Je suis confus, je lis ceci (http://code.google.com/appengine/docs/java/datastore/relationships.html): "Les objets enfants sont chargés depuis le magasin de données quand ils sont accédés Si vous n'accédez pas à l'objet enfant sur un objet parent, l'entité de l'objet enfant n'est jamais chargée.Si vous voulez charger l'enfant, vous pouvez le "toucher" avant de fermer PersistenceManager (par exemple par appelez getContactInfo() dans l'exemple ci-dessus) ou ajoutez explicitement le champ enfant au groupe de récupération par défaut afin qu'il soit récupéré et chargé avec le parent. " – user246114
Impossible de tout inclure dans le commentaire ci-dessus - donc nous ne pouvons pas explicitement faire la syntaxe du champ SELECT, mais nous pouvons obtenir un effet similaire en suivant la règle ci-dessus et en structurant intelligemment nos classes? Merci! – user246114