【发布时间】:2012-12-29 23:37:03
【问题描述】:
我正在开发一个 AppEngine 项目,并且我在 AppEngine 数据存储上使用 JDO 来实现持久性。我有一个实体,它使用编码字符串作为键,还使用应用程序生成的键名(也是字符串)。我这样做是因为我的应用程序会经常从野外收集数据(可能会收集相同的东西)并尝试持久化它们。为了避免持久化几个本质上包含相同数据的实体,我决定对这些数据的一些属性进行哈希处理,以获得一致的键名(由于实体关系而不直接操作键)。 现在的问题是,每当我计算我的哈希(键名)并尝试存储实体时,如果它已经存在于数据存储中,那么数据存储(或 JDO 或任何罪魁祸首)会默默地覆盖数据存储中实体的属性,而无需引发任何异常。这会对应用程序产生严重影响,因为它会覆盖实体(我们用于排序)的时间戳(一个字段)。 我怎样才能最好地解决这个问题?
【问题讨论】:
标签: java google-app-engine google-cloud-datastore jdo