Java 选择具有空值的对象
如何在GQL中仅选择具有空值的对象。我有一个对象,对于我的软件的新版本,我包括一个LastUpdate字段,我只想更新最旧的更新对象,但是当我使用“ORDER BY LastUpdate ASC”进行查询时,应该始终使用此查询!,它总是只返回在LastUpdate中具有某些值的对象Java 选择具有空值的对象,java,google-app-engine,gql,gqlquery,Java,Google App Engine,Gql,Gqlquery,如何在GQL中仅选择具有空值的对象。我有一个对象,对于我的软件的新版本,我包括一个LastUpdate字段,我只想更新最旧的更新对象,但是当我使用“ORDER BY LastUpdate ASC”进行查询时,应该始终使用此查询!,它总是只返回在LastUpdate中具有某些值的对象 如何在查询中包含空值对象的最佳方式?可能使用NVL包装器NVL(LastUpdate,sysdate)如果数据存储中的实体未设置新属性,则无法对其进行查询 实体的属性值将不为null,属性将不存在,因此将不会包含在用
如何在查询中包含空值对象的最佳方式?可能使用NVL包装器
NVL(LastUpdate,sysdate)
如果数据存储中的实体未设置新属性,则无法对其进行查询
实体的属性值将不为
null
,属性将不存在,因此将不会包含在用于查询实体的任何索引中。找到需要更新的实体的唯一方法是映射所有实体并找到缺少值的实体。您对记录创建有多大的控制权?您可以始终创建一个新记录,将LastUpdate字段设置为与RecordCreated字段相同的值。这样,该字段就永远不会为空,并且可以随时进行查询
缺点:您还可能会选择很久以前创建的记录,并且自那时起未更新。我尝试查询“按NVL(LastUpdate,sysdate)ASC从对象顺序选择*”,但我没有工作。NVL在GQL中无效/不受支持。我无法控制。记录是在应用程序的旧版本中创建的。是否可以扫描数据库,使用RecordCreated字段中的null LastUpdate字段更新所有记录?