gpt4 book ai didi

java - Google DataStore 无主一对多关系

转载 作者:行者123 更新时间:2023-11-30 06:39:22 26 4
gpt4 key购买 nike

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

例如,

Person.java

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

@Persistent
private Set<Key> favoriteFoods;

// ...
}

如果我从数据存储中删除一些 favoriteFood 对象会怎样?该对象的键是否保留在键集中?从集合中删除 key 是我的责任吗?

最佳答案

是的。 key 会留在那儿,直到您将其取下。另一个陷阱是你可能不小心将 Cat 键插入 Dogs 列表中——键现在不是类型安全的。如果您希望 JDO 实现为您做所有的簿记工作,您现在需要使用拥有的关系。文档 here暗示这可能会在未来改变。我对 JDO 不够熟悉,不知道它通常如何处理无主关系。还要注意,即使拥有的关系“魔法”也发生在 JDO 层,而不是数据存储本身,所以在您看来,一个操作实际上可能是对数据存储的多次实际调用(例如,级联删除情况)

关于java - Google DataStore 无主一对多关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1127924/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com