Objectify v5:Profile不是受支持的属性类型

时间:2015-03-20 07:02:08

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

我一直在关注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示例。

感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

之前我一直在使用Objectify v3。我将pom.xml中的版本更新为5.1,但错误仍然存​​在。然而,一旦我清理了项目,问题就解决了。