App Engine + Endpoint + GCM后端的物化。儿童与儿童亲

时间:2016-03-09 11:34:14

标签: android google-app-engine google-cloud-messaging google-cloud-endpoints objectify

我创建了“使用Google云消息传递的App Engine后端”模板,例如this one 然后我做了我的entety类Employee。和entety班级经理。

 @Entity

public class Employee {


    @Id
    Long id;
    @Index
    private String regId;

    @Index
    private String email;

    /*
    @Index
    @Load
    Ref <Manager> managerRef;
    */

    @Index
    @Parent
    Key <Manager> managerKey;


    public Employee (){};

    public void setRelationKey(Key<Manager> managerKey){
    this.managerKey = managerKey;
    }

    public Key<Manager> getRelationKey(){
        return managerKey;

    }

    public Long getId(){
        return id;
    }

    public String getRegId() {
        return regId;
    }

    public void setRegId(String regId) {
        this.regId = regId;
    }

    public String getEmail() {
        return email;
    }

    public void setEmai(String email) {
        this.email = email;
    }

}

对于使用数据的工作,它使用了客观化。因此,不会有员工团队负责人。我把

 `@Index
    @Parent
    Key <Manager> managerKey;` 

在Emplyee。然后我从java类生成Cloud Endpoint:EmployeeEndpoint和ManagerEndpoint

然后构建 - &gt;将模块部署到AppEngine

并给予BUILD FAILED FAILURE:构建因异常而失败。

  • 出了什么问题: 任务'执行失败':后端:appengineEndpointsGetClientLibs'。

      

    运行端点命令时出错get-client-lib:参数化类型com.googlecode.objectify.Key   &LT; com.example.Operator.myapplication.backend.Manager&GT;不支持。

  • 尝试: 使用--stacktrace选项运行以获取堆栈跟踪。使用--info或--debug选项运行以获得更多日志输出。

    我希望得到你的帮助。

1 个答案:

答案 0 :(得分:0)

我找到了来自this

的解决方案

您必须使用@ApiResourceProperty注释您的方法,并将其ignored属性设置为true,如下面的代码所示:

 @Entity

public class Employee {

    /** */
    /*
    public static Key<Employee> key(long id) {
        return Key.create(Employee.class, id);
    }
    */
    @Parent
    Key<ManagerManager> managerKey;
    @Id
    Long id;
    @Index
    private String regId;

    @Index
    private String email;

    /*
    @Index
    @Load
    Ref <Manager> managerRef;
    */


    public Employee (){};

    @ApiResourceProperty(ignored = AnnotationBoolean.TRUE)
    public void setRelationKey(Key<ManagerManager> managerKey){
    this.managerKey = managerKey;
    }

    @ApiResourceProperty(ignored = AnnotationBoolean.TRUE)
    public Key<ManagerManager> getRelationKey(){
        return managerKey;
   ....

它建立成功