سؤال

لدي كيان دورة يحتوي على مجموعة من المفاتيح إلى كيان العلامة. كيف أذهب حول إنشاء استعلام للحصول على قائمة من الدورات مع علامة محددة؟ على سبيل المثال، أريد أن أجد كل الدورات التدريبية الموسومة بجافا.

وهنا كياناتي:

@PersistenceCapable(identityType = IdentityType.APPLICATION, detachable="true")
 public class Course{

 @PrimaryKey
 @Persistent(valueStrategy = IdGeneratorStrategy.IDENTITY)
 private Key key;

 @Persistent private Set<Key>       tags;
 //etc
 }

@PersistenceCapable(identityType = IdentityType.APPLICATION, detachable="true")
public class Tag{

    @PrimaryKey
    @Persistent(valueStrategy = IdGeneratorStrategy.IDENTITY)
    private Key key;

    @Persistent private String tagText;
}
هل كانت مفيدة؟

المحلول

Tag tag = getTagFromString("java");
Key tagKey = tag.getKey();  // i will assume you have a getKey() method

PersistenceManger pm = PMF.get().getPersistenceManager();
Query q = pm.newQuery(Course.class);
q.setFilter("tags == :tagParam");

List<Course> coursesTaggedWithJava = (List<Course>) q.execute(tagKey);

نصائح أخرى

لا أعتقد أن هذا ممكن. لا يسمح Google Datastore باستخدام استعلامات الانضمام. لكنني قد أكون مخطئا.

هنا و هنا هو موقع الويب حيث يمكنك العثور على مزيد من المعلومات حول GQL.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top