對於Google Appengine和jdo來說,這是新鮮事。我不知道如何用兩個實體在JDO中編寫查詢。我有UserProfile和UserFeed實體,如下所示。在Google App引擎中查詢兩個實體JDO
@PersistenceCapable
public class UserProfile {
@PrimaryKey
@Persistent(valueStrategy = IdGeneratorStrategy.IDENTITY)
private Key key;
@Persistent
private String firstName;
@Persistent
private String lastName;
@Persistent
private List<Key> friendProfileKeys;
}
@PersistenceCapable
public class UserFeed {
@PrimaryKey
@Persistent(valueStrategy = IdGeneratorStrategy.IDENTITY)
private Key key;
@Persistent
private Key profileKey;
@Persistent
private String comment;
@Persistent
private UserFeedType userFeedType;//Friends,Public
}
下面的查詢我用來獲取用戶發佈的提要列表。
final Query query = pm.newQuery(UserFeed.class);
final List v;
query.setFilter("profileKey == paramUserProfileKey");
query.declareParameters("com.google.appengine.api.datastore.Key paramUserProfileKey");
v = (List) query.execute(profile.getKey());
請幫助我獲取用戶和他的朋友發佈的訂閱源列表以及公共帖子。
你得到什麼錯誤,在哪裏? – MikO 2013-04-08 12:02:19
我的查詢只能用於獲取用戶提要列表。我知道如何使用UserProfile.friendProfileKeys和UserFeed.userFeedType從UserFeed實體獲取用戶好友Feed和公共Feed。 – 2013-04-08 12:16:02
對不起,我並沒有最終理解你想要檢索的內容......你想要所有UserFeed類型爲public,以及與給定UserProfile相關的UserFeed,以及與所有UserProfiles相關的UserProfiles給UserProfile?你想在一個單一的查詢? – MikO 2013-04-08 13:14:34