簡體   English   中英

數據存儲區過濾器在帶有Java的Google App Engine中不起作用

[英]Datastore Filter doesn't work in Google App Engine with java

我從數據存儲中檢索數據時遇到問題。

以下是存儲在數據存儲區中的實體示例: 在此處輸入圖片說明

我將GAE與Java配合使用,並且設法將數據存儲在數據存儲中,但是現在我需要使用DatastoreService()Filter()來獲取存儲的數據。

問題是,即使我在WHERE子句中輸入正確的值,也沒有數據!

DatastoreService dataStore = DatastoreServiceFactory.getDatastoreService();
Filter usernameFilter = new FilterPredicate("Name", FilterOperator.EQUAL, "moha");

Query q = new Query("User").setFilter(usernameFilter);
PreparedQuery pq = dataStore.prepare(q);

pq.countEntities() //returns 0 always

我什至嘗試使用在線“按GQL查詢”,但仍然沒有數據:

select * from User where Name = 'moha'

這是實體代碼:

@Entity
public class User {
    @Id private String username;
    private String password;

    public String getUsername() {
        return username;
    }
    public void setUsername(String username) {
        this.username = username;
    }
    public String getPassword() {
        return password;
    }
    public void setPassword(String password) {
        this.password = password;
    }

}

我該怎么辦?

您在數據存儲查看器中看到的ID /名稱位於鍵中,而不是實體的屬性,例如“名稱”。

您應該包括模型以及如何創建實體。

您選擇的查詢將針對而不是名稱。

證明這一點的最簡單方法是通過密鑰獲取安全感,您可以在上面看到。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM