2011-04-25 11 views
6

Un oggetto da inserire nel datastore avrà un set di tag.Come si utilizzano le proprietà dell'elenco nel datastore di Google App Engine in Java?

public class Model 
{ 
    List<String> tagList 
    ... 
} 

In Python, Google App Engine ha la nozione di proprietà dell'elenco. Qual è la nozione equivalente in Java (se esiste) e come useresti le proprietà dell'elenco in Java, in JPA e/o in JDO?

+0

spero che la risposta NON sia l'uso di Python! – onejigtwojig

+0

qualcuno sa di un'implementazione JPA? – onejigtwojig

+1

ci sono altre opzioni di accesso ai dati API oltre a JPA e JDO disponibili con Java, ad esempio Objectify. – topchef

risposta

10

Vedi il mio post sul blog proprio su questo: Efficient Keyword Search with Relation Index Entities and Objectify for Google Datastore. Parla dell'implementazione della ricerca con le proprietà degli elenchi utilizzando le entità dell'indice di relazione e oggettivizza.

In sintesi:

Query<DocumentKeywords> query = ofy.query(DocumentKeywords.class); 
    for (String keyword : keywords) { 
    query = query.filter("keywords", keyword); 
    } 

    Set<Key<Document>> keys = query.<Document>fetchParentKeys(); 

    Collection<Document> documents = ofy.get(keys).values(); 

dove DocumentKeywords contiene una proprietà di lista (insieme) di tutte le parole chiave per la sua Document entità, e Document entità è un genitore per DocumentKeywords.

+1

il tuo post sul blog è esattamente quello che sto cercando! Grazie.. – onejigtwojig

3

In JDO uso

@Persistent 
private List<ContactInfo> contactInfoSets;