创建应用程序引擎时出错';GWT应用程序中的s数据存储实体
我尝试创建如下实体:创建应用程序引擎时出错';GWT应用程序中的s数据存储实体,gwt,google-cloud-datastore,app-engine-ndb,Gwt,Google Cloud Datastore,App Engine Ndb,我尝试创建如下实体: DatastoreService ds = DatastoreServiceFactory.getDatastoreService(); Entity stock = new Entity("Stock", 1); stock.setProperty("Stock", "FCB"); ds.put(stock); 但是不断地得到错误: 没有可用于com.google.appengine.api.datastore.DatastoreService类型的源代码;您是否忘记继
DatastoreService ds = DatastoreServiceFactory.getDatastoreService();
Entity stock = new Entity("Stock", 1);
stock.setProperty("Stock", "FCB");
ds.put(stock);
但是不断地得到错误:
没有可用于com.google.appengine.api.datastore.DatastoreService类型的源代码;您是否忘记继承所需的模块
没有可用的源代码
GWT将Java翻译成Javascript,阅读它的源代码,然后出现一个
您试图实现的是一个仅限服务器的操作,您正在客户端代码中添加此操作,该代码将在浏览器上运行。GAE不允许这样做,GWT也没有这些类的来源,也没有这样做的能力
解决方案
您需要创建一个对服务器的请求,该请求将访问数据存储服务
,并将输出返回到客户端代码。
下面是正确构建GWT web应用程序的示例:
错误的意思就是它所说的,GWT编译器需要访问它编译为Javascript的Java源代码,显然,
DatastoreService
不应该存在于前端-因此这里有一个架构问题
您需要编写一个代理,该代理可以调用服务器组件(该组件依次调用DatastoreService
)并返回DTO/value对象(您定义了DTO/value对象,因此具有其源代码)
干杯,也许这个库可以解决这个问题:?嘿@Tadasdavisons,我不确定,我查了它的源代码,听起来还没有准备好制作,也没有为
数据存储服务提供源代码或包装,我想你最终会遇到同样的问题。PS:我在一个项目中使用了Objectify
lib,很好:-)