Я хочу убедиться, что только одна сущность создана для сущности с указанным c ключом предка. Мое решение состоит в том, чтобы поместить запрос предка в транзакцию, проверить, существует ли сущность, и, если нет, создать ее.
Будет ли это гарантировать, что существует только одна сущность с указанным c ключом предка?
ofy().transact(new VoidWork() {
public void vrun() {
Entity entity = ofy().load().type(Entity.class)
.ancestor(ancestorKey)
.first()
.now();
if (entity == null) {
// Entity does not exist. Create it.
final Entity newEntity = new Entity(ancestorKey);
ofy().save().entity(newEntity).now();
} else {
// Entity already exists.
}
}
}
});