我一直在关注Objectify的v5教程,我有两个类,其中一个嵌入另一个:
@Entity
public class User {
@Id Long id;
private Profile profile;
private User(){}
/**
* Creates a new instance of user.
* @param id Id of the user. If <code>null</code>, id will be automatically generated.
* @param profile profile of the user.
*/
public User(final Long id, @NotNull final Profile profile){
this.id = id;
this.profile = profile;
}
}
public class Profile {
private String firstName;
private String middleName;
private String lastName;
private Date birthDate;
private Profile(){}
public Profile(@NotNull final String firstName, @NotNull final String lastName ){
this.firstName = firstName;
this.lastName = lastName;
}
}
为了测试这段代码,我编写了以下端点:
@ApiMethod(name = "user.create", httpMethod = "post")
public User createUser(@Named("id") Long id, @Named("fn") String firstName, @Named("ln") String lastName){
Profile profile = new Profile(firstName,lastName);
User user = new User(id,profile);
ofy().save().entity(user).now();
return user;
}
但是当我执行此请求时,出现错误:
配置文件不是受支持的属性类型。
我不明白为什么我会遇到这个问题,因为据我所知,我的情况类似于教程中给出的Car / Engine示例。
感谢您的帮助。
答案 0 :(得分:1)
之前我一直在使用Objectify v3。我将pom.xml中的版本更新为5.1,但错误仍然存在。然而,一旦我清理了项目,问题就解决了。