0
我儘量讓這樣的代碼:物化序列查詢
Query<Card> query = ofy().load().type(Card.class);
UserData creator = ofy().load().type(UserData.class).id(creatorId).now();
if (creator != null && UserType.USER.equals(creator.getUserType())) {
query.filter("creator", creator);
}
if (orderColumnName != null) {
query.order((ascending ? "" : "-") + orderColumnName);
}
query.offset(startRow).limit(limit);
return query.list();
但它並不過濾。 此篩選器:
UserData creator = ofy().load().type(UserData.class).id(creatorId).now();
Query<Card> query = ofy().load().type(Card.class).filter("creator", creator);
任何想法爲什麼?
EDITED
我班Card.java
@Entity
public class Card implements PersistableObject {
@Id
Long id;
@Index
Date createDate;
...
@Index
Ref<UserData> creator;
...
public UserData getCreator() {
if (creator != null) {
return creator.get();
}
return null;
}
public void setCreator(UserData creator) {
this.creator = Ref.create(creator);
}
}
我班UserData.java
@Entity
public class UserData implements PersistableObject {
@Id
Long id;
Ref<EaistoAccount> eaistoAccount;
UserType userType;
public EaistoAccount getEaistoAccount() {
if (eaistoAccount == null) {
return null;
}
return eaistoAccount.get();
}
public void setEaistoAccount(EaistoAccount aistoAccount) {
this.eaistoAccount = Ref.create(aistoAccount);
}
}
它不工作,意味着我希望得到過濾實體對應UserData但它不會過濾當我在幾個部分拆分查詢時,它也會過濾,當我在一行中使用查詢。
是什麼_ 「不工作」 _是什麼意思?你有錯誤信息嗎?程序是否產生與預期不同的輸出? – lfurini
我的意思是過濾在第一種情況下不起作用,但在第二種情況下起作用。 –
它以什麼方式不起作用?你能顯示你的'Card'和'UserData'類嗎? – tx802