有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java Google数据存储无主OnetoMany关系

所以,我正在使用谷歌数据存储来开发我的GWT应用程序,我的同事提出了一个有趣的问题,我没有答案。删除某些对象时,关键帧集会发生什么变化

比如说,

人。爪哇

@PersistenceCapable(identityType = IdentityType.APPLICATION)
public class Person {
    @PrimaryKey
    @Persistent(valueStrategy = IdGeneratorStrategy.IDENTITY)
    private Long id;

    @Persistent
    private Set<Key> favoriteFoods;

    // ...
}

如果我从数据存储中删除一些favoriteFood对象,会发生什么?该对象的关键点是否保留在关键点集中?我是否有责任从装置中取出钥匙


共 (1) 个答案

  1. # 1 楼答案

    是的。钥匙将留在那里,直到你取下它。另一个问题是,你可能会意外地将一把猫钥匙插入狗的列表中,因为钥匙现在不是类型安全的。如果您希望JDO实现为您完成所有簿记工作,那么现在需要使用自有关系。文件here暗示这一点在未来可能会改变。我对JDO不够熟悉,不知道它通常如何处理无主关系。还要注意,即使拥有的关系“魔力”也发生在JDO层,而不是数据存储本身,因此在您看来,一个操作实际上可能是对数据存储的几个实际调用(例如,级联删除情况)