GCP Datastore Java API,使用空值构建实体

时间:2018-08-10 22:13:12

标签: java google-cloud-platform google-cloud-datastore

因此,与“这真的是如何工作的?”问题相比,这不是“我有一个如何解决它的错误”的问题。问题。

因此,我正在查看代码以将实体持久保存到数据存储中,如果我尝试将属性设置为null,则所有地狱都将丢失。我注意到有一个setNull,但是吗?我必须在构建属性之前手动检查每个属性,以便调用适当的set?为过多数据类型重载的标准集本身不应该处理null吗?

这是一个代码段

public void put(BatchExecution obj) {
    Key key = keyFactory.newKey(obj.getId());           
    FullEntity<Key> incBEEntity = Entity.newBuilder(key)  
        .set(BatchExecution.ID, obj.getId())
        .set(BatchExecution.NAME, obj.getName())
        .set(BatchExecution.CREATETIME, obj.getCreateTime())
        .set(BatchExecution.ELAPSEDTIME, obj.getElapsedTime()) //I break the code because elapesedTime was never set in the object
        .set(BatchExecution.STATUS, obj.getStatus().name())
        .build();
    datastore.put(incBEEntity);
  }

我在这里缺少什么吗?或者这真的是API的工作原理吗?

1 个答案:

答案 0 :(得分:1)

在github上引发关注 https://github.com/GoogleCloudPlatform/google-cloud-java/issues/3583

问题已经结束。