GCP 数据存储 Java API,构建具有空值的实体



所以这不是一个"我有一个错误如何修复它"的问题,而是"这真的是这样工作的吗?"的问题。

因此,我正在查看我的代码以将实体保存到数据存储中,如果我尝试设置一个 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 的工作方式?

在 github 上提出的问题 https://github.com/GoogleCloudPlatform/google-cloud-java/issues/3583

问题已结束。