【问题标题】:How to query java appengine datastore VIEWER for entity using a Long id如何使用长 id 查询 java appengine 数据存储查看器以获取实体
【发布时间】:2010-08-18 17:29:23
【问题描述】:

我正在尝试做一些相对简单的事情,并且我认为我曾经能够做到。

我正在尝试使用管理界面使用长 ID 查询我的数据存储。有问题的实体定义为:

@PersistenceCapable(identityType = IdentityType.APPLICATION, detachable = "true")
public class Notification
{   
    @PrimaryKey
    @Persistent(valueStrategy = IdGeneratorStrategy.IDENTITY)
    private Long notificationId = null;
}

在 appengine 管理界面的数据存储查看器中,我执行以下 gql 查询:

SELECT * FROM Notification WHERE _key_ = KEY('Notification', 12345)
SELECT * FROM Notification WHERE id = KEY('Notification', 12345)
SELECT * FROM Notification WHERE notificationId = KEY('Notification', 12345)
SELECT * FROM Notification WHERE notificationId = 12345

这些查询都不会返回任何结果,也不会产生任何错误。我确定实体存在。其中一个曾经工作过,我只是不记得是哪个。这可能是由于最近 appengine 更新到 1.3.6 造成的吗?

【问题讨论】:

    标签: java google-app-engine google-cloud-datastore key


    【解决方案1】:

    你需要这个:

    SELECT * FROM Notification WHERE __key__ = KEY('Notification', 12345)
    

    注意键周围的两个下划线,而不是一个。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-04-21
      • 2023-03-19
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多