Этот код ниже является нашим кодом для удаления свойства для данного типа сущности:
@Override
public boolean deleteProperty(String instance, String storeName, String propertyName) {
final boolean[] success = {false};
final PersistentEntityStore entityStore = manager.getPersistentEntityStore(xodusRoot, instance);
try {
entityStore.executeInTransaction(new StoreTransactionalExecutable() {
@Override
public void execute(@NotNull final StoreTransaction txn) {
EntityIterable entities = txn.findWithProp(storeName, propertyName);
final boolean[] hasError = {false};
entities.forEach(entity -> {
if(!entity.deleteProperty(propertyName)) {
hasError[0] = true;
}
});
success[0] = hasError[0];
}
});
} finally {
//entityStore.close();
}
return success[0];
}
Я понимаю, что Xodus является транзакционным и что, если одна из операций deleteProperty
здесь не будет выполнена, он будет откатан (Мне может понадобиться узнать, подтверждено ли это).
Тем не менее, существует ли официальный способ удаления свойства для всех существующих объектов данного типа?