GAE / GWT - 合并requestFactory客户端发送的父/子对象图

时间:2012-07-04 19:18:58

标签: jpa requestfactory persist

我正在尝试使用jpa保存requestFactory发送的对象图。

@Entity
public class Product {

@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Key id;

    @OneToMany(cascade = CascadeType.ALL)
    private List<FareEntry> fares;

    ...
}


@Entity
public class FareEntry{

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Key id;

    @ManyToOne(fetch = FetchType.LAZY)
    private Product product;

    ....    
}

当我在客户端创建一个新的对象图并将其发送到服务器时,对象保存正常,但是当我将对象发送到客户端时,我修改了一些属性并将其发送回来再次保存(合并),删除一些子对象。

我到达服务器时检查对象,看看一切正常。我看到的唯一区别是当我发送一个新的图形对象时,子对象有id = null,当我发送一个修改过的图形对象时,子对象有一个有效的id。

requestFactory中所有对象的id都是String,用KeyFactory.KeyToString(...)创建Key的字符串表示。

有些想法出了什么问题?

我检查一下,如果我删除@OnaToMany声明,一切正常运行,持久化和修改对象图表确定,但JPA会持久保存新字段以进行排序。我不需要,我不想要这个字段,因为我的数据库有大约100.000条记录,我想最大限度地降低写入成本。

感谢您的帮助......

Ruben Leal

0 个答案:

没有答案