删除一个实体通过关键没有取它的第一个应用程序的发动机(在使用被创建)
-
18-09-2019 - |
题
有没有办法删除的一个实体,而不是具有取自数据库的第一次?我假设,我已经有钥匙或身份为该实体。我想喜欢的东西 deleteObjectById
这将是一个模拟来 getObjectById
上 PersistenceManager
.
最近我能想到的是使用 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");
不隶属于 StackOverflow