Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/399.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/google-app-engine/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Google App Engine只更新一个实体的一个属性,该实体具有多个属性_Java_Google App Engine - Fatal编程技术网

Java Google App Engine只更新一个实体的一个属性,该实体具有多个属性

Java Google App Engine只更新一个实体的一个属性,该实体具有多个属性,java,google-app-engine,Java,Google App Engine,正在寻找一种有效的方法,仅更新GAE中实体的一个属性。 我知道我可以做一个get by键,设置一个属性,然后放置。但是get是否会非常低效,因为它将加载所有属性?我听说您可以进行特定于属性的查询,但我担心,一旦加载的实体的总属性中只有一个或两个,然后将其放回数据存储中,查询中未加载的属性将丢失 有什么建议吗 PS也不确定查询方法,因为我听说直接获取更有效。任何只指定键的查询都会同样有效吗?Afaik,实体存储在序列化表单中,因此,如果您需要一个或所有属性,也没有什么区别,因为加载实体的序列化表单

正在寻找一种有效的方法,仅更新GAE中实体的一个属性。 我知道我可以做一个get by键,设置一个属性,然后放置。但是get是否会非常低效,因为它将加载所有属性?我听说您可以进行特定于属性的查询,但我担心,一旦加载的实体的总属性中只有一个或两个,然后将其放回数据存储中,查询中未加载的属性将丢失

有什么建议吗


PS也不确定查询方法,因为我听说直接获取更有效。任何只指定键的查询都会同样有效吗?

Afaik,实体存储在序列化表单中,因此,如果您需要一个或所有属性,也没有什么区别,因为加载实体的序列化表单时将加载所有属性

“特定于属性的查询”实际上被调用。它们只处理索引,并且只重新创建您查询的“投影”字段。由于图元仅部分加载(仅加载投影字段),因此


只需使用普通查询,然后使用multi-put。是的,直接获取效率更高(且成本更低),但您需要具有实体的键/id。

如果您需要更新一个属性,则可以将其移动到一个单独的、更简单的实体中,您可以独立于主实体加载和更新该实体。这可以是子实体,也可以是共享关键特征的单独实体

例如

  • 电子邮件