无法将@Serialize与requestfactory一起使用

时间:2013-08-30 14:45:02

标签: java google-app-engine requestfactory objectify

我创建了一个带有pojo(ProductVariations)的实体,使用标签@Serialize通过objectify保存在GAE中:

@Entity
public class Product extends DatastoreObject{

    //Reference without the colors and size information
    @Index private String ref;
    private double price;
    private String details;
    private String description;
    @Serialize private ProductVariations pVariations;
    private List<String> tags = new ArrayList<String>();

//Getters & Setters
}

问题是我没有看到如何使用requestfactory访问我的pojo,因为ProductVariations不是域类型。

在任何其他情况下,我会使用嵌入对象,但在这种特殊情况下,我在ProductVariations中有一个嵌套集合,这本身就是一个集合(ProductVariations扩展了ArrayList)。

有关如何实现这一目标的任何建议吗?

谢谢。

1 个答案:

答案 0 :(得分:0)

我不确定我是否理解您的问题,但如果您想通过RPC发送,则需要在Product中实现Serializable。

除此之外,您是否在存储ProductVariations时遇到问题?这是一个有趣的概念。如果它不起作用:

你能将ProductVariations保存在自己的@Entity中吗?

然后保留一个Key in Product类(或者你可以从中创建一个Long)。

为方便起见,您也可以在Product中保留ProductVariations,但是使用@Transient标记它,然后在您的ofy.get()工厂的Key / Long中填充它。