GAE数据存储不返回实体

时间:2015-03-17 16:15:24

标签: java google-app-engine google-cloud-datastore objectify

我使用objectify来查询我已经设置的GAE数据存储区,其中至少有一个实体,但我一直得到以下响应

200 OK
  • 显示标题 -

{

“kind”:“call#resourcesItem”,  “etag”:“\”AiR-q6YO1YYMgAaz-ZfT_fl7oeY / pcKQAVaDylr_ZSckRfQAxsphOUU \“”

}

这是客观化请求的样子

@ApiMethod(name = "queryCalls", path = "queryCalls", httpMethod = HttpMethod.POST)

public List<Call> queryCalls()
{
    Query<Call> query = ofy().load().type(Call.class).order("name");
    return query.list();


}   

调用显然是正在使用的实体的类。

任何解决方案都将非常受欢迎

EDIT 这是参考的调用类

package com.cms.log;

import com.googlecode.objectify.annotation.Entity;
import com.googlecode.objectify.annotation.Id;
import com.googlecode.objectify.annotation.Index;



/* Patient Entity */
@Entity
public class Call {

@Id Long callId;
@Index String patientName;
@Index String doctor;
String address1;
String address2;
String address3;
String postCode;
String patientLocation;
@Index String symptoms;
Integer contactNumber;
@Index String callDateTime;
String currentStatus;



 public Call(Long callId, String patientName, String doctor, String address1,
        String address2, String address3, String postCode, String patientLocation, String symptoms,
        Integer contactNumber, String callDateTime, String currentStatus) 
{
    this.callId = callId;
    this.patientName = patientName;
    this.doctor = doctor;
    this.address1 = address1;
    this.address2 = address2;
    this.address3 = address3;
    this.postCode = postCode;
    this.patientLocation = patientLocation;
    this.symptoms = symptoms;
    this.contactNumber = contactNumber;
    this.callDateTime = callDateTime;
    this.currentStatus = currentStatus;
};

public Long getCallId() {
    return callId;
}

public void setCallId(Long Id) {
    this.callId = Id;
}

public String getPatientName() {
    return patientName;
}

public void setPatientName(String patientName) {
    this.patientName = patientName;
}

public String getDoctor() {
    return doctor;
}

public void setDoctor(String doctor) {
    this.doctor = doctor;
}

public String getAddress1() {
    return address1;
}

public void setAddress1(String address1) {
    this.address1 = address1;
}

public String getAddress2() {
    return address2;
}

public void setAddress2(String address2) {
    this.address2 = address2;
}

public String getAddress3() {
    return address3;
}

public void setAddress3(String address3) {
    this.address3 = address3;
}

public String getPostCode() {
    return postCode;
}

public void setPostCode(String postCode) {
    this.postCode = postCode;
}

public String getPatientLocation() {
    return patientLocation;
}

public void setPatientLocation(String patientLocation) {
    this.patientLocation = patientLocation;
}

public String getSymptoms() {
    return symptoms;
}

public void setSymptoms(String symptoms) {
    this.symptoms = symptoms;
}

public int getContactNumber() {
    return contactNumber;
}

public void setContactNumber(int contactNumber) {
    this.contactNumber = contactNumber;
}

public String getCallDateTime() {
    return callDateTime;
}

public void setCallDateTime(String callDateTime) {
    this.callDateTime = callDateTime;
}

public String getCurrentStatus() {
    return currentStatus;
}

public void setCurrentStatus(String currentStatus) {
    this.currentStatus = currentStatus;
}

}

1 个答案:

答案 0 :(得分:2)

正如您在上一篇评论中所强调的那样,您的@Entity类必须具有无参数构造函数,以便Objectify能够从数据存储区实体构造对象。

一旦对其进行了排序,您就可以使用班级中定义的@Index ed属性来订购结果。