我创建了“使用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选项运行以获得更多日志输出。
我希望得到你的帮助。
答案 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;
....
它建立成功