我有以下的遊戲框架實體(使用嗎啡的持久性)作爲一個通用的博客應用程序的一部分:
@Entity
public class Comment extends Model {
...
@Reference
@Indexed
public SiteUser commenter;
public static List<Comment> getLastCommentsByUsers(final List<SiteUser> users) {
final Query<Comment> query ds().createQuery(Comment.class);
query.field(commenter).hasAnyOf(users);
return query.asList();
}
}
SiteUser:
@Entity(noClassnameStored=true)
public class SiteUser extends AbstractUser {
public String realName;
}
AbstractUser:
public class AbstractUser extends Model {
@Indexed(value= IndexDirection.DESC, unique = true)
public String emailAddress;
@Required
public String password;
}
的方法getLastCommentsByUsers()
應該返回參數users
中用戶的所有評論,但我總是會收到一個空的List
回來。 Commment
是一個獨立集合的原因是能夠通過某些用戶在其關聯的Post
上檢索最後的X Comment
,如果嵌入在Post
集合中,這是不可能的。
我的查詢是否有問題(應該使用hasAnyOf
以外的東西),還是與關係映射有關?是否應該使用ObjectId
而不是?
請發表您的SiteUser類的樣子。 – Ryan 2011-05-26 14:23:34
@Ryan:完成。 :) – Rich 2011-05-26 22:13:30