Objectify v5:配置文件不是受支持的 属性 类型
Objectify v5: Profile is not a supported property type
我一直在关注 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;
}
但是当我执行这个请求时,我得到一个错误:
Profile is not a supported property type.
我不明白为什么我会遇到这个问题,因为据我所知,我的情况与教程中给出的 Car/Engine 示例类似。
感谢您的帮助。
我之前一直在使用 Objectify v3。我将 pom.xml 中的版本更新为 5.1,但错误仍然存在。然而,一旦我清理了项目,问题就解决了。
我一直在关注 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;
}
但是当我执行这个请求时,我得到一个错误:
Profile is not a supported property type.
我不明白为什么我会遇到这个问题,因为据我所知,我的情况与教程中给出的 Car/Engine 示例类似。
感谢您的帮助。
我之前一直在使用 Objectify v3。我将 pom.xml 中的版本更新为 5.1,但错误仍然存在。然而,一旦我清理了项目,问题就解决了。