回答

3

由於數據存儲不支持「包含」查詢,因此只能使用一個查詢,因此無法在GAE數據存儲中執行此操作。因此,您有兩種選擇:

  1. 選擇所有實體並遍歷結果集,檢查名稱是否包含「 - 」。
  2. 添加一個新的屬性,例如「nameContainsDash」到您的實體,並查詢將此屬性設置爲true的所有實體。每次更新名稱時都會更新此屬性。
... 

public void setName(String name) { 
    this.name = name; 
    nameContainsDash = name.contains("-"); 
} 

public boolean isNameContainsDash() { 
    return nameContainsDash; 
} 

... 

當然,第二個選項可能需要數據遷移,因爲屬性將null現有的實體。

相關問題