Spring 使用 Objectify 启动

Spring Boot with Objectify

我正在使用 Spring Boot with Objectify 作为持久层。它正在部署到 Flexible App Engine。 在每个实体中我都有一个块:

static {
    ObjectifyService.register(LsUser.class); 
}

尝试从 Controller 运行 此代码时 class:

ObjectifyService.run(new VoidWork() {   
    @Override           
    public void vrun() {
        ofy.save().entity(new User())).now();           
    }       
});

当运行宁它我有下一个错误:

java.lang.NullPointerException: No API environment is registered for this thread.
at com.google.appengine.api.datastore.DatastoreApiHelper.getCurrentAppId(DatastoreApiHelper.java:180) ~[appengine-api-1.0-sdk-1.9.30.jar:na]
at com.google.appengine.api.datastore.DatastoreApiHelper.getCurrentAppIdNamespace(DatastoreApiHelper.java:196) ~[appengine-api-1.0-sdk-1.9.30.jar:na]
at com.google.appengine.api.datastore.Key.<init>(Key.java:96) ~[appengine-api-1.0-sdk-1.9.30.jar:na]

Objectify 仅适用于 App Engine 标准环境和 App Engine 灵活环境 (compat),目前已弃用。您应该改用 gcloud-java。

Using Cloud Datastore

如果您要在 GAE 中部署,请使用 objectify-appengine-spring