Копирование записей хранилища данных Google из одного вида в другой в одном и том же проекте с использованием Java

# #java #google-cloud-datastore #datastore

Вопрос:

Я пытаюсь скопировать некоторые записи хранилища данных из одного вида в другой в Google с помощью Java.

У меня есть несколько записей в виде «Резерв», и теперь, когда выполняются определенные условия, я хотел бы, чтобы эти записи были скопированы в новый вид, называемый «Активным».

В поле «Резерв» каждая запись имеет следующие свойства, такие как:

Имя, Фамилия, Отметка времени и т.д.

Мой код до сих пор таков:

 if(dataList.contains("UpdateNeeded")) {  Datastore datastore = DatastoreOptions.getDefaultInstance().getService();  Querylt;Entitygt; query =  Query.newEntityQueryBuilder().setNamespace("userdata")  .setKind("Reserve").build();  QueryResultslt;Entitygt; results = datastore.run(query);  while (results.hasNext()) {  Entity itr = results.next();  // it is here where i need to implement a logic to copy over to another Kind but I dont seem to figure out how.  }  }  

Ответ №1:

Вы можете скопировать объект, передав его построителю. Например.

 Key alteredKey = Key.newBuilder(itr.getKey().getParent(), "Active"); Entity newEntity = Entity.newBuilder(alteredKey, itr);`