2011-04-25 7 views
6

Un objeto que se colocará en el almacén de datos tendrá un conjunto de etiquetas.¿Cómo se usan las propiedades de la lista en el almacén de datos de Google App Engine en Java?

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

En Python, Google App Engine tiene la noción de propiedades de lista. ¿Cuál es la noción equivalente en Java (si existe) y cómo usaría propiedades de lista en Java, en JPA y/o en JDO?

+0

¡Espero que la respuesta NO sea usar Python! – onejigtwojig

+0

¿Alguien sabe de una implementación de JPA? – onejigtwojig

+1

hay otras opciones de API de acceso a datos además de JPA y JDO disponibles con Java, por ejemplo, Objectify. – topchef

Respuesta

10

Ver mi blog exactamente en esto: Efficient Keyword Search with Relation Index Entities and Objectify for Google Datastore. Habla sobre la implementación de búsqueda con propiedades de lista usando entidades de índice de relación y Objectify.

En resumen:

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(); 

donde DocumentKeywords contiene una propiedad de lista (colección) de todas las palabras clave de su entidad Document y Document entidad es un padre para DocumentKeywords.

+1

¡tu publicación de blog es exactamente lo que estoy buscando! Gracias.. – onejigtwojig

3

En JDO uso

@Persistent 
private List<ContactInfo> contactInfoSets; 
Cuestiones relacionadas