删除一个实体通过关键没有取它的第一个应用程序的发动机(在使用被创建)

StackOverflow https://stackoverflow.com/questions/1692508

有没有办法删除的一个实体,而不是具有取自数据库的第一次?我假设,我已经有钥匙或身份为该实体。我想喜欢的东西 deleteObjectById 这将是一个模拟来 getObjectByIdPersistenceManager.

最近我能想到的是使用 Query.deletePersistentAll() (见 在这里,)和指定的查询只能依赖的关键,但是我不能告诉我们,如果要取的实体之前删除。

感谢

编辑:我知道如何做到这一点使用的低水平API,以及在python API。我想知道,如果有办法做到这一内的被创建层。

有帮助吗?

解决方案

datanucleus回答我的问题 谷歌群:

不是真的。问题是,一个对象可以有关系,并因此, 由于这些可能导致连串的行动,它通常要 载入存储器的第一个。唯一情况就不需要 被加载到存储器是如果这类物体被删除了 没有关系。

进入水平低API和爆破掉的对象可以或不可以 影响相关的对象...也许有人负责 它可以评论。

其他提示

我不知道JDO,但为Python这是可能的一个小黑客。你需要“创造”一个新的实例使用相同的密钥,然后将其删除。它将击中数据库只有一次。

instance = Model(key=key_to_delete, required_property='dummy')
instance.delete()

关于如何使用 低级API?

我认为 DataService.delete(Key) 会做什么你需要的。

如果你用一只要钥匙,你将ned使用重装上阵创建一个关键的第一次。

Key k = KeyFactory.createKey(Employee.class.getSimpleName(), "Alfred.Smith@example.com");
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top